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


    原文连接:http://zhanglu0574.blog.163.com/blog/static/113651073201641853532259/

     
    现象:
    一个界面有多个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();
    }
    }

     

  • 相关阅读:
    [某鸥实训记][objective-c][第四天][个人笔记]
    [某鸥实训记][objective-c][第三天][作业]打地鼠X2
    [某鸥实训记][objective-c][第三天][个人笔记]
    京东书籍爬取
    抽屉爬取
    scrapy项目renrencookie
    scrapy项目suningbook
    scrapy项目4
    scrapy项目3
    scrapy项目2
  • 原文地址:https://www.cnblogs.com/Talon-lly/p/5980371.html
Copyright © 2020-2023  润新知