安卓 自定义ViewPager 自适应高度

如题,ScrollView中嵌套了viewpager,可以上下划和左右划,viewpager中嵌套listview,滑动冲突解决了,却出现了高度不适应问题,
第一页加载正常,第二页内容比第一页少,可是高低却和第一页一样,这样就会出现大片空白区域,第三页。。。。。以此类推。。
viewpager每次加载3个页面,就只会取最大的高度赋值,我该怎么改呢,请大神们帮帮我。

重写了onMeasure

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int height = 0;
    int h;
    for(int i = 0; i < getChildCount(); i++) {
        View child = getChildAt(i);
        h = 0;
        child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        h = child.getMeasuredHeight();
        if(h > height) height = h;
    }

    heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);

    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

1个回答

就是这样,否则它无法知道你想俺那个子页面高度设计,所以你就控制好子页面高度吧,空白就空白,你总不能让它忽高忽低吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问