0

それぞれが同じ高さの 3 つの行を持つ LinearLayout を作成しようとしています。これを、メインの 1 つの中に 3 つの LinearLayouts を使用して作成しています。それぞれの layout_weight は 1 です。

中央の LinearLayout には、重みが 1、2、1 の ImageView、TextView、ImageView が含まれている必要があります。これを行うために、中央の LinearLayout 内に別の 3 を作成しました。

TextView を各 ImageView の 2 倍のサイズにしたい。以下のコードを見ると、内側の LinearLayouts の layout_weight が 1 の場合、問題はなく、3 つが同じサイズで表示されます。ただし、中央のもの (id=textLayout を使用) を に設定するとlayout_weight=2、完全に消え (Eclipse グラフィカル レイアウト ビューアで見られるように)、他の 2 つだけが表示されます。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/fondo"
    android:gravity="center_vertical|center_horizontal">

    <LinearLayout
        android:id="@+id/LayoutTop"
        android:orientation="horizontal"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LayoutMid"
        android:orientation="horizontal"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:layout_weight="1">
            <ImageView
                android:layout_height="fill_parent"
                android:layout_width="fill_parent">
            </ImageView>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/textLayout"
            android:orientation="horizontal"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:layout_weight="2">
            <TextView
                android:text="Status"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
            </TextView>
        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:layout_weight="1">
            <ImageView
                android:layout_height="fill_parent"
                android:layout_width="fill_parent">
            </ImageView>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/LayoutBottom"
        android:orientation="horizontal"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
    </LinearLayout>

</LinearLayout>
4

1 に答える 1

1

中央の行を適切に配置するために追加のレイアウトは必要なく、ウェイトは後方にあります。テキストを外側の画像の 2 倍にしたい場合は、テキストを 1 にし、外側の列を 1.5 にします。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:orientation="vertical">
    <LinearLayout android:id="@+id/LayoutTop"
        android:orientation="horizontal" android:layout_height="0dp"
        android:layout_width="fill_parent" android:layout_weight="1" android:background="#ffff0000"/>


    <LinearLayout android:id="@+id/LayoutMid"
        android:orientation="horizontal" android:layout_height="0dp"
        android:layout_width="fill_parent" android:layout_weight="1">

        <ImageView android:layout_height="fill_parent"
            android:layout_width="fill_parent" android:background="@drawable/icon"
            android:layout_weight="1.5" />
        <TextView android:layout_height="fill_parent" android:id="@+id/TextView01"
            android:layout_weight="1" android:text="Status" android:layout_width="fill_parent" />
        <ImageView android:layout_height="fill_parent"
            android:layout_weight="1.5" android:background="@drawable/icon"
            android:layout_width="fill_parent" />
    </LinearLayout>

    <LinearLayout android:id="@+id/LayoutBottom"
        android:orientation="horizontal" android:layout_height="0dp"
        android:layout_width="fill_parent" android:layout_weight="1" android:background="#ff00ff00"/>


</LinearLayout>

アイコン (ある場合) を使用して中央の行に画像を配置し、上部と下部にいくつかの色を使用して間隔をより明確に示しました。

于 2011-04-30T03:11:46.180 に答える