Android随着scrollView或者recyclerView滑动状态栏颜色渐变效果
2017-06-30 15:49
639 查看
不管是scrollView还是recyclerView都需要设置滑动监听
在我做项目中总结了两种方式:
方式一:
方式二:
有什么错误的还望指正,共勉!
scroll.setScrollViewListener(new ScrollView.OnScrollViewListener() { @Override public void onScollChanged(int l, int t, int oldl, int oldt) { //在这里做颜色渐变的操作 } });
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); //在这里做颜色渐变的操作 } });
在我做项目中总结了两种方式:
方式一:
private int tempY = 0; private float duration = 150.0f;//在0-150之间去改变头部的透明度 private ArgbEvaluator evaluator = new ArgbEvaluator(); private RecyclerView.OnScrollListener listener = new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); tempY += dy; // 滚动的总距离相对0-150之间有一个百分比,头部的透明度也是从初始值变动到不透明,通过距离的百分比,得到透明度对应的值 // 如果小于0那么透明度为初始值,如果大于150为不透明状态 int bgColor = 0X553190E8; if (tempY < 0) { bgColor = 0X553190E8; } else if (tempY > 150) { bgColor = 0XFF3190E8; } else { bgColor = (int) evaluator.evaluate(tempY / duration, 0X553190E8, 0XFF3190E8); } title_layout.setBackgroundColor(bgColor); } };
方式二:
final int height = DeviceUtil.dp_to_px(this, 150); scroll.setScrollViewListener(new ObservableScrollView.OnScrollViewListener() { @Override public void onScollChanged(int l, int t, int oldl, int oldt) { if (t > height) { t = height; } title_layout.setBackgroundColor(Color.argb(Math.round(t * 256 * 0.7f / height), 0, 0, 0)); } });
有什么错误的还望指正,共勉!
相关文章推荐
- android标题栏颜色渐变效果的实现(标题栏随着scrollview的滚动而变化)
- android viewPager 滑动标题颜色渐变效果
- Android中Toolbar随着ScrollView滑动透明度渐变效果实现
- android标题栏颜色渐变效果的实现(标题栏随着scrollview的滚动而变化)
- Android中Recyclerview使用10----Recyclerview外面嵌套ScrollView滑动事件冲突
- NavgationBar随着滑动颜色渐变效果的实现
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- Android滑动ScrollView时使导航栏停留的效果(仿ios的tableview分区)
- android 自定义scrollview 仿QQ空间效果 下拉伸缩顶部图片,上拉回弹 上拉滚动顶部title 颜色渐变
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- android ScrollView 嵌套RecyclerView 解决滑动冲突
- Toolbar随着ScrollView滑动透明度渐变效果实现
- Android Textview实现文字颜色渐变效果
- Android之NestedScrollView 嵌套 RecyclerView 滑动冲突的问题
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- android标题栏随着RecyclerView滚动背景渐变
- Android 监听ScrollView滑动 实现布局背景、文本颜色渐变