美文网首页
ScrollView上滑时改变Title的背景透明度

ScrollView上滑时改变Title的背景透明度

作者: baiduo | 来源:发表于2018-02-02 17:45 被阅读0次

    android开发中经常有滑动页面时使Title变色的需求,今天就记录一下这个功能的实现方法
    在Actvity中设置ScrollView的滑动监听,可惜SDK没有暴露ScrollView的onScrollChanged方法,我们可以重写ScrollView并用接口监听onScrollChanged方法,也可以直接使用V4包下的NestedScrollView代替ScrollView。NestedScrollView有直接设置滑动监听的方法setOnScrollChangeListener。下面上代码

    scrollView.setOnScrollChangeListener { v: NestedScrollView?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int ->
                
                var height = toolbar.height
                 //滚动范围限制在0到toolbar高度之间
                if (scrollY in 0..height) {
                  //计算滚动的比例
                    var scale =  scrollY.toFloat()/height.toFloat()
                  //scale最大值为1,即为全不透明
                    var alpha = scale*255
                    toolbar.setBackgroundColor(Color.argb((int) alpha, 227, 29, 26))//色值自取
                } else {
                    //直接不设置透明度
                    toolbar.setBackgroundColor(255, 227, 29, 26)
                }
    
            }
    

    相关文章

      网友评论

          本文标题:ScrollView上滑时改变Title的背景透明度

          本文链接:https://www.haomeiwen.com/subject/qkmezxtx.html