Ini tampaknya mudah, tetapi saya tidak tahu bagaimana melakukannya. Saya memiliki tata letak horizontal dengan EditText dan dua ImageButtons. Saya ingin ImageButtons berukuran tetap, dan EditText mengambil ruang yang tersisa di layout. Bagaimana ini bisa dicapai?
<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
sumber
sumber
Jika Anda ingin menjaga tata letak tetap sama (yaitu, tombol setelah teks), gunakan
layout_weight
properti, bersama denganfill_parent
, sebagai berikut:<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:layout_weight="1" android:layout_width="fill_parent" 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>
Memberi
EditText
'bobot' membuatnya dipikirkan terakhir dan mendahulukan tombol. Bermainlah dengan layout_weights yang berbeda dan lihat betapa menyenangkannya Anda!sumber
Baik:
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageButton android:id="@+id/button1" android:src="@drawable/img1" android:layout_width="50dip" android:layout_alignParentTop="true" android:layout_height="50dip"> </ImageButton> <ImageButton android:src="@drawable/img2" android:layout_width="50dip" android:layout_alignParentTop="true" android:layout_toRightOf="@id/button1" android:layout_height="50dip"> </ImageButton> <EditText android:layout_below="@id/button" android:layout_width="wrap_content" android:layout_height="fill_parent"> </EditText> </RelativeLayout>
Poin utama dari tata letak adalah:
fill_parent
nanti di file itu hanya memperhitungkan ruang yang tersisa, tidak semua ruang yang mungkin dapat ditempati jika tidak ada yang lain di sanafill_parent
(match_parent
dalam 2.2+) sehingga menempati sisa ruang yang tersediaMaaf tidak membaca pertanyaan Anda sudah cukup. Kode di atas memberikan jawaban jika Anda ingin melakukannya secara vertikal. Untuk tata letak horizontal, kode yang diposting oleh @Sunil harus berfungsi.
sumber
Gunakan setel
layout_width
ataulayout_height
ke0dp
(Dengan orientasi yang Anda inginkan untuk mengisi ruang yang tersisa). Kemudian gunakanlayout_weight
untuk membuatnya mengisi ruang yang tersisa.sumber