黑桃K_K 2016-03-22 11:28 采纳率: 0%
浏览 1619

安卓 自定义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条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2016-03-22 12:46
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?