Android RecyclerView滚动类控件修改、去掉滑动边界的阴影效果
2024-09-21 16:52:28
前言
滚动类控件,大家都用的很多,如 RecyclerView、NestedSrollView....
下面以recyclerView为例讲解,其他滚动控件也同理。
RecyclerView 滚动列表,谷歌在设计这类控件时候,在滑动到边界时,默认给我们加上了阴影效果,谷歌设计的本意呢应该是给提示用户列表滑动已经到边缘了,如图:
不过呢,自然也是有办法修改和关掉这个阴影效果的,方法请看下文~
修改阴影效果的颜色
阴影效果的颜色,其实是由你的项目中styles.xml
中的AppTheme
的theme定义的colorPrimary这个id的颜色控制的,当我们不指定阴影效果的颜色时,RecyclerView会自动获取R.color.colorPrimary
的颜色。也就是说只要在colors.xml
中修改colorPrimary对应的颜色值就可以了。要注意的不能修改这个id命名,不然可能会影响其他控件的表现
<!-- styles.xml -->
<style name = "AppTheme" parent = "Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name = "colorPrimary">@color/colorPrimary</item>
<item name = "colorPrimsaryDark">@color/colorPrimaryDark</item>
<item name = "colorAccent">@color/colorAccent</item>
</style>
------------------------------------------------------------------------
<!-- colors.xml -->
<color name = "colorPrimary">#FFA958</color>
去掉阴影效果
但是有时候,我们想去掉这个阴影。方法也是很简单的,只需要调整控件的一个属性:overScrollMode
为 never
,overScrollMode
顾名思义就是滑动即将超出边界时的模式,可以调整的属性有三种:
- never: 完全去掉滑动边界的阴影效果
- always: 总是出现滑动边界的阴影效果
- ifContentScrolls:
- 如果recycleview里面的内容可以滑动,那么滑到边界后继续滑动会出现滑动边界的阴影效果
- 如果recycleview里面的内容不可以滑动,那么滑到边界后继续滑动不会出现滑动边界的阴影效果
只要在xml或者在View层代码中设置了就可以生效。不过要注意,View层代码一般来说优先级会比xml定义属性优先级要高。
设置完全去掉阴影效果的示例代码如下:另外两个效果也是同理~
//xml代码中设置
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
/>
//在java/kotlin代码里面修改
recyclerview.setOverScrollMode(RecyclerView.OVER_SCROLL_NEVER);
设置后,便能消除这个RecyclerView滑动边界的阴影效果了。
去掉滚动条
这里顺带一提,滚动控件如何去掉它的滚动条,只需要调整一个属性
android:scrollbars="none"
希望能帮到有需要的同学~
最新文章
- HDFS开发实例
- [CareerCup] 15.5 Denormalization 逆规范化
- VB6.0对鼠标滚轮不支持的解决方法[转]已经测试work
- ToDictionary,ToLookup
- Hive架构及Hive On Spark
- pyrrd 程序
- iOS开发--动画篇之layout动画深入
- Google Chrome中的高性能网络(二)
- 基于mongoDB的capped collection的性能优化
- Xcode7调试-b
- C#中dynamic的正确用法【转】
- poj 3266 Cow School 分数规划
- VC生成的DLL给QT的EXE调用时lib路径问题小结
- Tomcat 热部署
- 通过H5的新标签canvas做出一个时钟的全过程,希望对初学者有帮助
- 42.Odoo产品分析 (四) – 工具板块(10) – 问卷(2)
- Finance财务软件(引入业务系统凭证专题)
- Python学习(八) —— 内置函数和匿名函数
- 【详解】换一个角度看Socket的数据读写
- mp4、AAC数据格式、解析文件的创建修改时间