2012-05-30 58 views
0

我有一個水平的LinearLayout包含文本框(搜索)和切換按鈕。如何讓搜索框填充所有寬度減去切換框的寬度?Android:線性佈局與搜索TExt和切換按鈕在一條線上

視覺: [寬大的搜索框] [切換]

<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 

回答

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

+0

LOL ...我出手快,牛仔。 – Cristian

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 
0

嘗試切換按鈕的android:layout_width設置爲wrap_content

0

簡單地改變你的EditText layout_width到0dp 並添加layout_weight屬性:

android:layout_weight="1" 

和你ToggleButto的layout_width n必須設置爲WRAP_CONTENT

android:layout_width="wrap_content"