3
<LinearLayout android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/tv_label_client_host"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="@string/label_host" />
    <EditText
        android:id="@+id/et_client_host"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:inputType="text"
        android:layout_weight="1.0"
        android:lines="1" />
</LinearLayout>

EditText残りのスペース全体を水平に埋めることを期待していますが、使用可能なスペースの 1/2 を取得しますTextViewEditTextこれLinearLayoutは、別の垂直方向の内側に配置されLinearLayoutます。

4

5 に答える 5

1

を削除します

   android:ems="10"

すべての要素について、ここでテストしましたが、動作します。

于 2012-10-04T12:20:47.497 に答える
0

可能であれば、TextView から を削除しandroid:ems="10"、TextView の重みを追加しますandroid:layout_weight="0"

于 2012-10-04T12:28:34.483 に答える
0
<LinearLayout android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:weightSum="1"
>

    <TextView
        android:id="@+id/tv_label_client_host"
        android:layout_weight="0"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="@string/label_host" />
    <EditText
        android:id="@+id/et_client_host"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:inputType="text"
        android:layout_weight="1"
        android:lines="1" />
</LinearLayout>
于 2012-10-04T12:24:26.963 に答える
0

TextView の幅を 0dp... に設定します。

于 2012-10-04T12:15:20.887 に答える
0

レイアウト内の各コンポーネントに重みを付ける必要があります。そうすれば、それぞれに与えられる重みがわかります。したがって、これを試すことができます。

<LinearLayout android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightsum="1">

    <TextView
        android:id="@+id/tv_label_client_host"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_weight="0.3"
        android:text="@string/label_host" />
    <EditText
        android:id="@+id/et_client_host"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:inputType="text"
        android:layout_weight="0.7"
        android:lines="1" />
</LinearLayout>
于 2012-10-04T12:26:40.960 に答える