0

我是 Android 新手,并注意到在创建包含andTabHost的 a时,声明的顺序非常重要。例如,如果我使用:LinearLayoutFrameLayoutTabWidget

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">
    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp" />
    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

</LinearLayout>

...TabWidet永远不会显示,因为FrameLayout占据了整个空间。但如果我声明第TabWidget一个:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">
    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp" />
</LinearLayout>

...两者都显示,但在TabWidget顶部而不是底部,这是我想要的。

所以,我想知道是否有layout_height规范或其他属性可以“保证”某个元素在考虑其他元素之前以其完整高度呈现。

4

1 回答 1

0

在您的第一个示例中,您告诉框架布局根据他拥有的内容数量来获取所需的高度:

android:layout_height = "wrap_content"

我认为他没有为 TabWidget 留下空间。

你的问题的答案是:

android:layout_(dimension) = "fill_parent"

这个占满空间。

于 2012-05-14T19:50:55.930 回答