Android随着scrollView或者recyclerView滑动状态栏颜色渐变效果
来源:互联网 发布:僧格林沁 知乎 编辑:程序博客网 时间:2024/05/16 12:29
不管是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)); } });
有什么错误的还望指正,共勉!
阅读全文
0 1
- Android随着scrollView或者recyclerView滑动状态栏颜色渐变效果
- Toolbar随着ScrollView滑动透明度渐变效果实现
- Toolbar随着ScrollView滑动透明度渐变效果实现
- android标题栏颜色渐变效果的实现(标题栏随着scrollview的滚动而变化)
- android标题栏颜色渐变效果的实现(标题栏随着scrollview的滚动而变化)
- android viewPager 滑动标题颜色渐变效果
- Android 监听ScrollView滑动 实现布局背景、文本颜色渐变
- Android ScrollView顶部搜索栏或者标题栏渐变效果
- android标题栏随着RecyclerView滚动背景渐变
- ScrollView滑动时隐藏头部颜色渐变
- Android滑动切换页面Tab文字颜色发生渐变效果
- Android 状态栏颜色渐变实现
- Android透明状态栏或者渐变色状态栏
- Android中自定义ScrollView的滑动监听事件,并在滑动时渐变标题栏背景颜色
- 实现背景颜色随着ScrollView滑动改变的ActionBar
- 实现背景颜色随着ScrollView滑动改变的ActionBar
- android标题栏滑动渐变效果
- Android 标题栏和状态栏随ScrollView滑动颜色改变轻松实现
- Leetcode--476. Number Complement
- Java 内部类
- UE4_材质
- 说说封装sdk的那些坑(上)
- 实现图片单张上传
- Android随着scrollView或者recyclerView滑动状态栏颜色渐变效果
- application/xml和text/xml的区别
- OpenGL学习(三)第一个三角形
- Python正则使用示例
- Android 4.4后仿华为手机实现计步的效果
- 应用监控预警--Pinpoint介绍
- ASM(Active Shape Model)算法介绍
- Flink学习笔记 --- Basic Concepts整理笔记
- react native环境搭建+genymotion