• [Android Pro] ScrollView嵌套RecyclerView时滑动出现的卡顿


    reference to : http://zhanglu0574.blog.163.com/blog/static/113651073201641853532259/

    ScrollView嵌套RecyclerView时滑动出现的卡顿 

    现象:

    一个界面有多个RecyclerView以及其他一些内容,这 时要上下滚动就会使用外面嵌套一个ScrollView,虽然我没有遇到像ScrollView嵌套ListView时那样只显示部分,剩余不显示,可能 是因为我内容少吧,所以没有遇到这个,但是在滑动的时候如果是在RecyclerView上滑动,这时会出现只滑动动该RecyclerView的内容上 就会停止,而如果是在其他内容上滑动时就可以很顺畅的滑下去,因此就会感觉到卡顿的样子。

    解决:禁止RecyclerView的滑动。
    最简单方便的就是直接
    linearLayoutManager = new LinearLayoutManager(context) {
    @Override
    public boolean canScrollVertically() {
    return false;
    }
    };
    另外就是重写LayoutManager,以Grid模式来说:
    public class ScrollGridLayoutManager extends GridLayoutManager {
    private boolean isScrollEnabled = true;
    public ScrollGridLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    super(context, attrs, defStyleAttr, defStyleRes);
    }

    public ScrollGridLayoutManager(Context context, int spanCount) {
    super(context, spanCount);
    }

    public ScrollGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) {
    super(context, spanCount, orientation, reverseLayout);
    }

    public void setScrollEnabled(boolean flag) {
    this.isScrollEnabled = flag;
    }

    @Override
    public boolean canScrollVertically() {
    //Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
    return isScrollEnabled && super.canScrollVertically();
    }}
  • 相关阅读:
    Node 基本配置
    python GIL锁
    大数据 Zookeeper 集群
    大数据 Hadoop HA
    python 内置方法使用
    Linux Curl使用
    Linux 文件解压缩
    大数据 Hadoop 常见端口
    大数据 Hadoop 集群安装
    css结构设计思想
  • 原文地址:https://www.cnblogs.com/0616--ataozhijia/p/6066195.html
Copyright © 2020-2023  润新知