2014-09-01 3 views
2

Я получаю это:Что я делаю неправильно с весами?

Inverted weights

Но у меня есть этот макет код:

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <EditText android:id="@+id/editText_search" 
     android:layout_width="fill_parent" 
     android:layout_weight="0.7" 
     android:layout_height="wrap_content" 
     android:text="" /> 

    <Button android:id="@+id/button_search" 
     android:layout_width="fill_parent" 
     android:layout_weight="0.3" 
     android:layout_height="wrap_content" 
     android:text="@string/search" 
     /> 
</LinearLayout> 

Итак, как вы можете видеть, я хочу, чтобы кнопка была 30%, а EditText к 70%

Два вопроса:

  • Что я делать неправильно?
  • Должен ли я использовать вес? потому что в таблетке 30% может быть слишком много для кнопки (может быть, я должен использовать абсолютное значение для кнопки?)
+0

это полный XML, у вас есть какие-либо поля для родителя LinearLayout, для таблетки держать другой файл XML, в зависимости от размера экрана –

+0

Добавить weightSum = «1,0» до ваш LinearLayout, и дети должны иметь layout_width = "0dp" для гарантии. –

+0

no не полный XML ... приведенный здесь linearlayout (горизонтальный) является дочерним элементом другого linearlayout (вертикальный) – sports

ответ

2

При использовании веса, либо layout_height или layout_width должен быть 0dp, в зависимости от какой оси вы хотите растягивать
в вашем примере вы должны установить android:layout_width="0dp"

+0

Если я хочу растянуть горизонтальный, мне нужно установить layout_width 0dp? – sports

+1

Да, если растяжка горизонтальная, ширина должна быть 0dp, а если растяжка вертикальная, высота должна быть равна 0dp – Houcine

 Смежные вопросы

  • Нет связанных вопросов^_^