2011-10-26 192 views
7

所以我有這個textview「到」,一個edittext輸入聯繫人和一個搜索按鈕,在一行中搜索聯繫人。 textview和按鈕都很好,但問題是編輯文本很小,我希望它佔據所有剩餘的空間。下面的代碼:EditText不會填滿剩餘的空間

<RelativeLayout 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:paddingTop="10dp"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="To: " 
      android:textColor="#000000" 
      android:paddingTop="10dp" 
      android:layout_toLeftOf="@+id/editText_recipient" 
      android:layout_alignParentLeft="true" 
      android:layout_marginLeft="10dp"/> 
     <EditText 
      android:id="@+id/editText_recipient" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:hint="Enter Number" 
      android:inputType="number" 
      android:textSize="12sp" 
      android:layout_toLeftOf="@+id/button_recipient_picker" 
      android:layout_marginLeft="5dp"/> 
     <Button 
      android:id="@+id/button_recipient_picker" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="Browse .." 
      android:layout_alignParentRight="true" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:onClick="doLaunchContactPicker"/> 
     </RelativeLayout> 
+0

回答下面的RelativeLayout – Br0thazS0ul

回答

17
<LinearLayout 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:paddingTop="10dp"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="To: " 
      android:textColor="#000000" 
      android:paddingTop="10dp" 
      android:layout_marginLeft="10dp"/> 
     <EditText 
      android:id="@+id/editText_recipient" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:hint="Enter Number" 
      android:inputType="number" 
      android:textSize="12sp" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
     /> 
     <Button 
      android:id="@+id/button_recipient_picker" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="Browse .." 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:onClick="doLaunchContactPicker"/> 
     </LinearLayout> 

使用此佈局,我轉換佈局線性(水平默認值)。並添加了一個layout_weight到editText,它將佔用剩餘的空間。

+0

謝謝你:D它很棒:) – kev

2

對於那些需要這個答案並解決這個職位而不提供替代方案的人來說,答案相當簡單。 您需要告訴每個控件相互之間的位置,並適用於應該佔用空間android:layout_width = "match_parent"的控件,即使在一個LinearLayout,這將推動每個其他控件排列在屏幕外,在RelativeLayout它可以很好地工作

<RelativeLayout 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:paddingTop="10dp"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="To: " 
     android:textColor="#000000" 
     android:paddingTop="10dp" 
     android:layout_toLeftOf="@+id/editText_recipient" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="10dp"/> 
    <EditText 
     android:id="@+id/editText_recipient" 
     android:layout_height="wrap_content" 
     android:layout_width="MATCH_PARENT" 
     android:hint="Enter number" 
     android:inputType="number" 
     android:textSize="12sp" 
     android:layout_toLeftOf="@+id/button_recipient_picker" 
     android:layout_marginLeft="5dp"/> 
    <Button 
     android:id="@+id/button_recipient_picker" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="Browse .." 
     android:layout_alignParentRight="true" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:onClick="doLaunchContactPicker"/> 
    </RelativeLayout>