[android]滑动冲突 ScrollView+ViewPager+RecyclerView
16lz
2021-01-26
都是在网上找的会附赠网址,侵权即删
第一个是先解决ScrollView+ViewPager不显示问题 网上的其他解决方案俺就不解释了 不好用就是不好用
这个解决方案是重新测量高度 去自适应 嵌套进普通ScrollView即可
转载地址https://blog.csdn.net/g401946949/article/details/53187319
public class CustomViewPager extends ViewPager { public CustomViewPager(Context context) { super(context); } public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int height = 0; for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); int h = child.getMeasuredHeight(); if (h > height)height = h; } heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); super.onMeasure(widthMeasureSpec, heightMeasureSpec); }}
然后解决viewpager里的fragment里的RecyclerView
我写的商品详细,所以我不需要点击事件,但是他滑动到这里一定会卡,没有滑动感,所以我屏蔽了RecyclerView的滑动
若有其他解决办法也可留言,我只是针对我自己的项目写出对应解决办法
转载https://blog.csdn.net/lengqi0101/article/details/52874762
public class CustomLinearLayoutManager extends LinearLayoutManager { private boolean isScrollEnabled = true; public CustomLinearLayoutManager(Context context) { super(context); } 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(); }}
CustomLinearLayoutManager linearLayoutManager = new CustomLinearLayoutManager(mContext); linearLayoutManager.setScrollEnabled(false); mDevicesRV.setLayoutManager(linearLayoutManager);
亲测可用
然后下一章单说这个问题。
更多相关文章
- Android(安卓)getView中的position问题解决方案
- Android(安卓)ListView详解
- Android(安卓)从零开始打造一个 3D立体旋转容器
- Android自动滚动 轮播循环的ViewPager
- Android(安卓)协调者布局 CoordinatorLayout简单认识
- android ViewPager动画的实现原理及效果
- Android中多USB摄像头解决方案——UVCCamera
- android顶部导航条
- Android(安卓)Gallery 滑动停止监听方案