<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
以水平方式填充剩余的整个空间,但TextView
和EditText
获得1/2可用空间。此LinearLayout
位于另一个垂直LinearLayout
内。
答案 0 :(得分:1)
删除
android:ems="10"
对于所有元素,我在这里测试过并且有效。
答案 1 :(得分:0)
将TextView的宽度设置为0dp ....
答案 2 :(得分: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>
答案 3 :(得分: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>
答案 4 :(得分:0)
如果可能,请从TextView中删除android:ems="10"
并将TextView的权重添加到android:layout_weight="0"