2012-10-04 53 views
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填補水平剩餘的整個空間,但TextViewEditText獲得可用空間的1/2。這LinearLayout被放置在另一個垂直LinearLayout的內部。layout_weight = 1.0沒有效果

+0

我認爲你需要刪除textview並將提示設置爲EditText。 –

+0

嘗試將'layout_weight =「1.0」'設置爲LinearLayout(TextView和EditText的父級)。 – Deepak

回答

1

刪除

android:ems="10" 

的所有元素,我這裏測試和它的作品。

0

設置TextView的寬度爲0dp ....

+0

如果我這樣做,TextView就會消失。 –

+0

爲線性佈局設置weighSum = 3(只是任何int),然後爲編輯文本添加layout_weight = 2 和 layout_weight = 1用於文本視圖 –

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> 
0

您將不得不對佈局中的每個組件加權。這樣一來,就會知道什麼重量,是考慮到每個them.So的你可以用這個嘗試:

<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> 
0

如果可能的話,從TextView的 刪除android:ems="10"和TextView中添加重量android:layout_weight="0"