Android 中ScrollView 嵌套 ViewPager 不能显示解决办法

一、ScrollView 标签下增加 android:fillViewport=“true”

让ScrollView里的元素想填满ScrollView
Android 中ScrollView 嵌套 ViewPager 不能显示解决办法_第1张图片

二、在activity或者fragment中加上重写ViewPager的自定义类

//自定义ScrollView嵌套的ViewPager可显示
public static class ViewPagerForScrollView extends ViewPager {
     public ViewPagerForScrollView(Context context) {
         super(context);
     }
     public ViewPagerForScrollView(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);
     }
}

三、布局中引入

 
 

四、完成,nice!

你可能感兴趣的:(Android,安卓控件,android)