ScrollView嵌套ViewPager空白,上下或者左右不能滑动问题
2017-07-28 12:47
1846 查看
最近做项目,一个详情页涉及到ScrollView中带viewPager,滑动并且切换fragment.做好界面之后发现,
没有我写好的fragment的布局,开始就找fragment的问题,关于设置adapter的时候,fragment中用
getChildFragmentManager,activity中用getSupportFragmentManager这个问题就不细说了,自己这块没毛病,方向有误,
就回去看布局,发现viewpager在布局中其实是没有显示的,应该是因为ScrollView得不到viewpager的高度,所以就显示
不出来了,就开始往这方面解决,查资料说,重写ScrollView的,试了,没用,然后看到说
1、设置ScrollView的fillViewPort为true
2、设置ViewPager的layout_height为一个固定高度
第一种呢,你设置后发现,viewpager是显示了,但是不能上下滑动了,这个fillViewPort的属性,就是充满这个布局,设置了,你
就发现ScrollView成死的了.
第二种我没试,因为fragment里面是有listview的,不可能设死,所以弃用.
最后的解决方案就是还是用ScrollView不重写它,去重写viewpager,设置它的高度.逻辑很简单,顺利解决!
布局中的viewpager,直接用MyViewPager就OK了!
没有我写好的fragment的布局,开始就找fragment的问题,关于设置adapter的时候,fragment中用
getChildFragmentManager,activity中用getSupportFragmentManager这个问题就不细说了,自己这块没毛病,方向有误,
就回去看布局,发现viewpager在布局中其实是没有显示的,应该是因为ScrollView得不到viewpager的高度,所以就显示
不出来了,就开始往这方面解决,查资料说,重写ScrollView的,试了,没用,然后看到说
1、设置ScrollView的fillViewPort为true
2、设置ViewPager的layout_height为一个固定高度
第一种呢,你设置后发现,viewpager是显示了,但是不能上下滑动了,这个fillViewPort的属性,就是充满这个布局,设置了,你
就发现ScrollView成死的了.
第二种我没试,因为fragment里面是有listview的,不可能设死,所以弃用.
最后的解决方案就是还是用ScrollView不重写它,去重写viewpager,设置它的高度.逻辑很简单,顺利解决!
布局中的viewpager,直接用MyViewPager就OK了!
public class MyViewPager extends ViewPager { public MyViewPager(Context context) { super(context); } public MyViewPager(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); }
相关文章推荐
- ScrollView和ViewPager嵌套使用(导致左右、上下滑动冲突解决方案)
- 解决ScrollView嵌套ViewPager,导致ViewPager不能滑动的问题
- 解决在scrollview上下滑动嵌套scrollview,viewpager水平滑动时的抖动问题
- 解决ScrollView或者listview嵌套ViewPager 时候 Pager左右滑动不流畅
- 解决在scrollview上下滑动嵌套scrollview,viewpager水平滑动时问题
- 解决在scrollview上下滑动嵌套scrollview,viewpager水平滑动时的抖动问题
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- ScrollView 里嵌套WebView,WebView不能上下滑动或卡顿
- ScrollView嵌套ViewPager 时候 Pager左右滑动不流畅
- 解决ScrollView嵌套viewpager滑动事件冲突问题
- ScrollView或者ListView中嵌套ViewPager,展示不出来问题。
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- 关于ViewPager被嵌套在ScrollView中不显示以及滑动冲突的问题
- 解决ScrollView嵌套viewPager中嵌套listView滑动事件冲突问题(水平方向)
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- 解决VerticalViewPager中嵌套ScrollView滑动问题
- 关于scrollView中嵌套的ListView或者自定义view的焦点滑动问题
- NestedScrollView嵌套ViewPager滑动问题
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题