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的處理。
有問題可以私信我,我每天都看私信的