概述
最近在弄猜你喜欢这个布局,以前使用girdView控件加载猜你喜欢布局。发现当图片多,或者很大的时候。很容易引发oom问题。当girdView 使用的时候发现容易引起内存泄漏,看似没个item都回收了,但是其所占资源并没有回收。宝宝心里苦啊,不得不换个控件啊,思来想去还是换成RecyclerView吧,RecyclerView是V7包下的东西,可以横向滑动,竖向滑动,。完全可以代替listView或girdView了。RecyclerView有过多的人用,我就不详解了。我吧猜你喜欢布局换成RecyclerView,看momory自愿消耗,果然下去了,心里一顿美,哈哈,终于解决问题了。但是当我在真机测试的时候,妈蛋,发现6.0完全不是那么回事啊,滑起来相当卡顿,我还以为是oom问题,但是仔细一看也不对。手指放在RecyclerView控件上滑的很流畅。思来想去肯定是RecyclerView和ScrollView 滑动冲突了。都有滑动特性。出了问题咱就解决呗,下面直接上代码啊
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() { return isScrollEnabled && super.canScrollVertically(); } } 在加载的地方这么使用recyclerViews.setScrollEnabled(false);grd_like.setLayoutManager(recyclerViews);ScrollGridLayoutManager recyclerViews = new ScrollGridLayoutManager (MyApplicaton.context,2);
好了剩下的大家应该都知道怎么写了
最后
以上就是调皮眼睛为你收集整理的Android6.0系统ScrollView嵌套RecyclerView冲突问题的全部内容,希望文章能够帮你解决Android6.0系统ScrollView嵌套RecyclerView冲突问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复