Isso parece simples, mas não consigo descobrir como fazer isso. Eu tenho um layout horizontal com um EditText e dois ImageButtons. Quero que os ImageButtons tenham um tamanho fixo e que o EditText ocupe o espaço restante no layout. Como pode ser isto alcançado?
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>
<ImageButton
android:src="@drawable/img1"
android:layout_width="50dip"
android:layout_height="50dip">
</ImageButton>
<ImageButton
android:src="@drawable/img2"
android:layout_width="50dip"
android:layout_height="50dip">
</ImageButton>
</LinearLayout>
android
android-layout
ab11
fonte
fonte
Se você quiser manter o layout igual (ou seja, botões após o texto), use a
layout_weight
propriedade, junto comfill_parent
, assim:Dar o
EditText
'peso' faz com que seja descoberto por último e dá precedência aos botões. Jogue com os diferentes lay_weights e veja o quanto você pode se divertir!fonte
OK:
Os pontos principais do layout são:
fill_parent
posteriormente no arquivo ele leva em consideração apenas o espaço restante, nem todo o espaço que poderia ocupar se nada mais estava láfill_parent
(match_parent
em 2.2+) para que ocupe o resto do espaço disponívelDesculpe, não li sua pergunta o suficiente. O código acima fornece a resposta se você quiser fazer isso de forma vertical. Para um layout horizontal, o código postado por @Sunil deve funcionar.
fonte
Use definir o
layout_width
oulayout_height
para0dp
(pela orientação que você deseja preencher o espaço restante). Em seguida, use olayout_weight
para preencher o espaço restante.fonte