2010-06-02 2 views
5

У меня есть горизонтальный LinearLayout и в нем у меня есть EditText и Spinner элементов. Какие атрибуты мне нужно настроить, чтобы получить пропорциональную ширину: я хочу EditText взять 3/5 и Spinner - 2/5 всей доступной ширины?Пропорциональная ширина элементов в LinearLayout

Мой код выглядит следующим образом:

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:id="@+id/LinearLayout01"> 

    <EditText 
     android:layout_height="wrap_content" 
     android:id="@+id/EditText01" 
     android:singleLine="true"> 
    </EditText> 

    <Spinner 
     android:layout_height="wrap_content" 
     android:id="@+id/Spinner01" 
     android:layout_width="wrap_content"> 
    </Spinner> 

</LinearLayout> 

Я попытался установить android:layout_weight, но как-то не выглядит «стабильным» достаточно для меня - когда EditText нет текста - все выглядит нормально, но как только я начните вводить текст в него - он начинает расширяться и Spinner сокращается соответственно ...

ответ

13

буквально достигнуть вашего запроса, попробуйте установить оба виджета android:layout_width="0px", затем установите ваши android:layout_weight значения в зависимости от обстоятельств (3 и 2).

+1

Спасибо, это сработало хорошо! – Laimoncijus

+0

Waaaaw! Спасибо !!! Я сходил с ума, пытаясь выяснить, почему я не могу полагаться на WEIGHT с TextEdit и Spinner в одной строке. +100! :) – Enriqe

1

Попробуйте установить layout_width в 0dip, а также с помощью layout_weight. Это должно сделать это.