0

画面に 2 つのフラグメントを上下に表示するアクティビティがあります。一番上のフラグメントはアクティビティのユーザー インターフェイスで、2 番目のフラグメントはカスタム ListView です。一番上のスロットを埋めることができる 2 つのフラグメントがあり、それぞれサイズが異なります。ListView は両方に使用されます。

私が直面している問題は、上部と下部のフラグメントの間に大きなギャップがあることです。私はそれが layout_weight 属性と関係があることを知っています.layout_weight は、フラグメントがコマンドを実行する画面の量を制御する唯一の方法です。

私が知りたいのは、フラグメントがロードされたときに予約されたフラグメント領域のサイズを動的に変更する方法があるかどうか、またはこの醜いギャップに悩まされているかどうかです。

これが私のレイアウトです:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0"/>

        <FrameLayout
            android:id="@+android:id/realtabcontent1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <FrameLayout
            android:id="@+android:id/realtabcontent2"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="2" />
    </LinearLayout>
</TabHost>
</LinearLayout>
4

1 に答える 1