Android 高度设置为环绕内容的viewpager内部布局的高度

Android 高度设置为环绕内容的viewpager内部布局的高度,android,android-layout,android-viewpager,android-linearlayout,Android,Android Layout,Android Viewpager,Android Linearlayout,我遇到了这样一个问题:设置android:height=“wrap\u content” 现在,我已经成功地应用了上面提到的修复程序,它正在按预期工作。我的ViewPager正确地假设了其最高元素的高度 然而!我的viewpager中的每个项目都包含一个linearlayout,其中包含2个元素,如下所示:(这是我的容器) 这实际上给了我一个类似这样的布局: 我想在这里说明的是,在第二页上,LinearLayoutfoo与第一页的高度不同。这是意料之中的 但当我想将每页上的按钮与底部对齐时

我遇到了这样一个问题:设置
android:height=“wrap\u content”

现在,我已经成功地应用了上面提到的修复程序,它正在按预期工作。我的ViewPager正确地假设了其最高元素的高度

然而!我的viewpager中的每个项目都包含一个linearlayout,其中包含2个元素,如下所示:(这是我的容器)


这实际上给了我一个类似这样的布局:

我想在这里说明的是,在第二页上,LinearLayout
foo
与第一页的高度不同。这是意料之中的

但当我想将每页上的按钮与底部对齐时,问题就出现了!这当然是一个问题,因为第一页的
foo
底部与第二页的
foo
底部不一样

在我看来,标准的解决方案是将
foo
的高度设置为与父母匹配。但是,如果我这样做,整个页面将成为imageview的高度,因为上面提到的应用修复无法再正确计算每个孩子的高度

因此,请记住,我的整个目标是拥有高度相等的页面,具有动态内容(文本),同时保持按钮与页面底部对齐,您在这里建议什么解决方案

我尝试过的事情包括在树上的布局上调整高度设置,以及在添加到我的ViewPagerAdapter时将每个视图的高度设置为其容器的测量高度,但似乎没有任何效果

如有任何建议,将不胜感激。如果我遗漏了什么,或者您想查看更多信息,请发表评论。

我做了是的

我所要做的就是在我的按钮上方添加一个带有
weight=1
的视图,并给我的按钮一个静态高度。现在,按钮在每个页面上正确地排列到底部,这是因为添加的视图扩展以填充剩余的大小

我还必须将+1添加到我上面提到的“hacky”解决方案中定义的高度,否则我添加的视图会将项目从最大页面的布局中挤出,如下所示:

    if (height != 0) {
        heightMeasureSpec = MeasureSpec.makeMeasureSpec(height + 1 /* This is a heuristic solution */, MeasureSpec.EXACTLY);
    }
是的

(布局更改):


android:layout\u width=“匹配父项”
android:layout\u height=“0dp”
android:layout_weight=“1”/

您说您添加了带有
weight=0
的视图,但您的视图在您的答案中包含
weight=1
——请您告知是哪一个视图?谢谢,它是weight=1,我还为答案添加了详细信息。
    if (height != 0) {
        heightMeasureSpec = MeasureSpec.makeMeasureSpec(height + 1 /* This is a heuristic solution */, MeasureSpec.EXACTLY);
    }
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <View  <!-- ADDED -->
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="@dimen/buttonHeight"/>