前言

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

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

Android RecyclerView滚动类控件修改、去掉滑动边界的阴影效果的更多相关文章

  1. 【Android】自己定义控件实现可滑动的开关(switch)

    ~转载请注明来源:http://blog.csdn.net/u013015161/article/details/46704745 介绍 昨天晚上写了一个Android的滑动开关, 即SlideSwi ...

  2. recyclerView 列表类控件卡顿优化

    1.使用ConstraintLayout减少布局层级. 2.可以的话,设置RecyclerView布局等高,然后设置recyclerView.setHasFixedSize(true)这样可以避免每次 ...

  3. android自己定义刷新类控件

    android尽管定义了种类很丰富的控件.可是有的时候这些自己定义的控件还是不能满足我的要求,为了可以适配很多其它的需求,我们须要在原有的基础上进行自己定义控件. 今天我向大家介绍的就是android ...

  4. Android常用酷炫控件(开源项目)github地址汇总

    转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...

  5. Android 常用炫酷控件(开源项目)git地址汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  6. Android实现监听控件点击事件

    Android实现监听控件点击事件 引言 这篇文章主要想写一下Android实现监听点击事件的几种方法,Activity和Fragment实现起来有些方法上会有些不同,这里也略做介绍. 最近一直在忙一 ...

  7. [Android]下拉刷新控件RefreshableView的实现

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4172483.html 需求:自定义一个ViewGroup,实现 ...

  8. Android自定义控件之日历控件

      标签: android 控件 日历 应用 需求 2015年09月26日 22:21:54 25062人阅读 评论(109) 收藏 举报 分类: Android自定义控件系列(7) 版权声明:转载注 ...

  9. Python+Appium自动化测试(10)-TouchAction类与MultiAction类(控件元素的滑动、拖动,九宫格解锁,手势操作等)

    滑动屏幕方法swipe一般用于对页面进行上下左右滑动操作,但自动化过程中还会遇到其他情况,如对控件元素进行滑动.拖拽操作,九宫格解锁,手势操作,地图的放大与缩小等.这些需要针对控件元素的滑动操作,或者 ...

随机推荐

  1. MySQL学习之路7-索引、事务、函数、存储过程、游标

    索引 使用索引快速定位某列中特定值的行,不需要遍历数据表所有行. 创建索引的数据结构:BTREE and HASH. 主键也是一种索引,Primary key. show index from ord ...

  2. MySQL学习之路4-数据的导入导出

    数据的导入 通过数据库管理工具,先建表,然后导入表记录. 通过sql语句导入: load data local infile '表路径' into table stuscore fields term ...

  3. Python操作rabbitmq系列(三):多个接收端消费消息

    接着上一章.这一章,我们要将同一个消息发给多个客户端.这就是发布订阅模式.直接看代码: 发送端: import pikaimport sys connection = pika.BlockingCon ...

  4. AJ学IOS(50)多线程网络之GCD简单介绍(任务,队列)

    AJ分享,必须精品 GCD简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 GCD是苹果 ...

  5. 天天在用Redis,持久化方案你又知道哪些?

    前言 文章首发于微信公众号[码猿技术专栏]:天天用Redis,持久化方案有哪些你知道吗? Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原 ...

  6. stand up meeting 1/12/2016

    part 组员                工作              工作耗时/h 明日计划 工作耗时/h    UI 冯晓云  UI测试和调整:页面跳转调整    3 查漏补缺,扫除UI b ...

  7. stand up meeting 12/7/2015

    part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云  ------------------    --  ---------------------  --- PDF Rea ...

  8. Eight HDU - 1043 (双向BFS)

    记得上人工智能课的时候老师讲过一个A*算法,计算估价函数(f[n]=h[n]+g[n])什么的,感觉不是很好理解,百度上好多都是用逆向BFS写的,我理解的逆向BFS应该是从终点状态出发,然后把每一种状 ...

  9. python 进阶篇 函数装饰器和类装饰器

    函数装饰器 简单装饰器 def my_decorator(func): def wrapper(): print('wrapper of decorator') func() return wrapp ...

  10. linux下文本三剑客之sed

    继上一篇对正则表达式以及linux三剑客grep的讲解后,这一篇对sed重点介绍. 一.sed简介   sed表示流编辑器(Stream Editor).这是一个简单但功能强大的工具,分析文本,并无缝 ...