正常情况下,由于NestedScrollView/ScrollView 嵌套RecyclerView,可能会导致Recyclerview占据焦点导致整个NestedScrollView/ScrollView内容上滑。

此问题的解决方案如下:

1. 在根布局设置android:descendantFocusability=”blocksDescendants” ;

android:descendantFocusability 有三种值:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
这种方法,会造成页面中Editext焦点被抢导致无法输入,需要用到第二种方法。

2, 对于有Editext的页面需要在根布局使用 :

android:focusable="true"
android:focusableInTouchMode="true"

3. 在NestedScrollView/ScrollView顶部第一个控件使用 :

android:focusable="true"
android:focusableInTouchMode="true"

----------------------------------------------- 分割线 -----------------------------------------------------

2019-12-5 补充:

在实际开发中,不建议使用ScrollView包裹ListView/GridView/ExpandableListView,因为这样会把ListView的所有Item都加载到内存中,需要消耗巨大的内存和CPU去绘制画面。推荐使用NestedScrollView。

最新文章

  1. border-radius四个值的问题
  2. 牛B的调试工具:OzCode
  3. AngularJS应用页面切换优化方案
  4. 2014 Super Training #8 B Consecutive Blocks --排序+贪心
  5. 服务器端验证--验证框架验证required.
  6. HDU 4941 Magical Forest 【离散化】【map】
  7. [转]使用 PIVOT 和 UNPIVOT
  8. requirejs 定义模块中含有prototype
  9. 一个跨域请求的XSS漏洞
  10. linux系统性能监控常用命令
  11. linux 下搭建 ftp
  12. 高榕资本宾悦:未使用的企业家Testin云测试服务类故障
  13. nginx与apache配合反向代理技术2
  14. Python网络爬虫与信息提取(一)
  15. jquery的2.0.3版本源码系列(4):285-348行,extend方法详解
  16. Spring data mongodb 聚合,投射,内嵌数组文档分页.
  17. [BZOJ1977]严格次小生成树
  18. Maximum Subarray(最大子数组)
  19. C# 利用位运算传递多个参数方法
  20. 新增和编辑clob字段

热门文章

  1. IPV6-ONLY
  2. SQL Server 2019 深度解读:微软数据平台的野望
  3. Golang 在电商即时通讯服务建设中的实践
  4. IOS系统定时APP
  5. 聊聊技术选型 - Angular2 vs Vue2
  6. Docker--Docker初体验
  7. 小胖求学系列之-文档生成利器(下)-smart-doc
  8. 【ES6基础】字符串扩展
  9. 深入理解this原理(JavaScript)
  10. Ubuntu服务器登录与使用