关于ScrollView嵌套滑动控件出现的内容显示不全问题

当你使用ScrollView嵌套ListView、GridView、ViewPager等时,你会发现里面的东西显示不全或者完全不显示(ViewPager),对于这种情况,有两种方式。

对于ListView和GridView这种显示不全的情况,你可以重写一个继承自他们的类,重写onMeasure方法:

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }

当你解决了这个问题之后,你会发现有一个后遗症,就是每次显示都会跳到ListView或者GridView的最下面,解决方法就是,在ListView或GridView的子父容器中添加android:descendantFocusability="blocksDescendants"这个属性。



而对于ViewPager,你会发现这种方法不管用,这时你可以在ScrollView中添加android:fillViewport="true"这个属性试试。

你可能感兴趣的:(摸索)