0

私は Android を初めて使用しTabHostLinearLayoutと を含むFrameLayoutを作成する場合TabWidget、宣言の順序が非常に重要であることに気付きました。たとえば、次を使用する場合:

<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 に答える