zoukankan      html  css  js  c++  java
  • NestedScrollView、ScrollView 加载完自动滑动至底部问题的解决方案

    正常情况下,由于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。

  • 相关阅读:
    ASP.NET MVC5+ 路由特性
    老李分享:大数据,数据库,数据仓库之间是什么关系
    老李分享:DBA
    老李提问:开源家族你认识几个
    米尔格伦连锁信实验
    老李分享:六度分隔理论
    三者关系
    老李分享:JDK,JRE,JVM区别与联系
    Linux简介与厂商版本下
    Linux简介与厂商版本上
  • 原文地址:https://www.cnblogs.com/renhui/p/11263275.html
Copyright © 2011-2022 走看看