我有一个水平LinearLayout
,其中包含一个文本框(搜索)和一个切换按钮。如何让搜索框填充所有宽度减去切换框的宽度?
目视: [宽搜索框] [切换]
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1">
<EditText
android:id="@+id/search_box"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="type to search titles"
android:inputType="text"
android:maxLines="1"
android:visibility="gone"
android:capitalize="none"
android:linksClickable="false"
android:autoLink="none"
android:autoText="true"
android:singleLine="true" />
<ToggleButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/toggleButton1"
android:textOff="ABC"
android:textOn="KMs" />
</LinearLayout
答案 0 :(得分:2)
向layout_weight
添加EditText
属性,例如:
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1">
<EditText
android:id="@+id/search_box"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="type to search titles"
android:inputType="text"
android:maxLines="1"
android:visibility="gone"
android:capitalize="none"
android:linksClickable="false"
android:autoLink="none"
android:autoText="true"
android:singleLine="true" />
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/toggleButton1"
android:textOff="ABC"
android:textOn="KMs" />
</LinearLayout
我还修改了layout_width
属性,因此按钮包含了它的内容,文本字段填充了该行的剩余空间。为LinearLayout
中的孩子增加体重会让它占用剩余的空间,而体重的值决定了它的实现方式。
HTH
答案 1 :(得分:0)
您可以使用layout:weight
:
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1">
<EditText
android:id="@+id/search_box"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="type to search titles"
android:inputType="text"
android:maxLines="1"
android:visibility="gone"
android:capitalize="none"
android:linksClickable="false"
android:autoLink="none"
android:autoText="true"
android:singleLine="true" />
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/toggleButton1"
android:textOff="ABC"
android:textOn="KMs" />
</LinearLayout
答案 2 :(得分:0)
尝试将ToggleButton的android:layout_width
设置为wrap_content
答案 3 :(得分:0)
只需将EditText layout_width 更改为0dp即可 并添加 layout_weight 属性:
android:layout_weight="1"
并且您的ToggleButton的 layout_width 必须设置为 wrap_content
android:layout_width="wrap_content"