前言

滚动类控件,大家都用的很多,如 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>

去掉阴影效果

但是有时候,我们想去掉这个阴影。方法也是很简单的,只需要调整控件的一个属性:overScrollModeneveroverScrollMode 顾名思义就是滑动即将超出边界时的模式,可以调整的属性有三种:

  • 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"

希望能帮到有需要的同学~

最新文章

  1. HDFS开发实例
  2. [CareerCup] 15.5 Denormalization 逆规范化
  3. VB6.0对鼠标滚轮不支持的解决方法[转]已经测试work
  4. ToDictionary,ToLookup
  5. Hive架构及Hive On Spark
  6. pyrrd 程序
  7. iOS开发--动画篇之layout动画深入
  8. Google Chrome中的高性能网络(二)
  9. 基于mongoDB的capped collection的性能优化
  10. Xcode7调试-b
  11. C#中dynamic的正确用法【转】
  12. poj 3266 Cow School 分数规划
  13. VC生成的DLL给QT的EXE调用时lib路径问题小结
  14. Tomcat 热部署
  15. 通过H5的新标签canvas做出一个时钟的全过程,希望对初学者有帮助
  16. 42.Odoo产品分析 (四) – 工具板块(10) – 问卷(2)
  17. Finance财务软件(引入业务系统凭证专题)
  18. Python学习(八) —— 内置函数和匿名函数
  19. 【详解】换一个角度看Socket的数据读写
  20. mp4、AAC数据格式、解析文件的创建修改时间

热门文章

  1. Nodejs开发微信公众号中控服务
  2. "Tag标签"组件:&lt;tags&gt; —— 快应用组件库H-UI
  3. spark模型error java.lang.IllegalArgumentException: Row length is 0
  4. Altium Designer 3D
  5. paste命令-合并文件
  6. CopyOnWriteArrayList线程安全的集合
  7. 【转】解决存储过程执行快,但C#程序调用执行慢的问题
  8. ATcoder D - Handstand 2
  9. java算法-二分法查找实现
  10. Java锁之自旋锁