Android开发根据滑动距离标题栏进行渐变
假设滑动控件是NestedScrollView。
先监听NestedScrollView的滑动距离:
nslv_preview_me.setOnScrollChangeListener(object :NestedScrollView.OnScrollChangeListener{override fun onScrollChange(v: NestedScrollView,scrollX: Int,scrollY: Int,oldScrollX: Int,oldScrollY: Int) {var y = scrollYif (y < dp150) {if (y < 0) {y = 0}val alpha: Double = y.toDouble() / dp150alphaCallback?.invoke(255 * alpha)} else {alphaCallback?.invoke(255.0)}}})
fun setTitleAlpha(callback:(alpha: Double) -> Unit){this.alphaCallback = callback}
回调那边处理:
onlyEditMeFragment.setTitleAlpha { alpha: Double,nickName:String? ->cl_title.setBackgroundColor(("#" + Utils.intToHex(alpha.toInt()) + "ffffff").toColorInt())iv_back.setColorFilter(("#" + Utils.intToHex(alpha.toInt()) + "000000").toColorInt())tv_edit_title.setTextColor(("#" + Utils.intToHex(alpha.toInt()) + "000000").toColorInt())tv_preview_title.setTextColor(("#" + Utils.intToHex(alpha.toInt()) + "000000").toColorInt())}
关键就是nslv_preview_me.setOnScrollChangeListener的处理。
有问题可以私信我,我每天都看私信的