Saya memiliki kode berikut, bagaimana cara membuatnya sehingga 3 tombol di bagian bawah?
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:gravity="center"
android:text="@string/observer"
android:textAppearance="?android:attr/textAppearanceLarge"
tools:context=".asdf"
android:weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="1" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="2" />
<Button
android:id="@+id/button3"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="3" />
</LinearLayout>
android
xml
android-layout
button
android-linearlayout
medan itu
sumber
sumber
android:weight="1"
Anda mungkin berartiandroid:layout_weight="1"
. Ini bukan masalahmu.Jawaban:
Anda perlu memastikan empat hal:
LinearLayout
memilikilayout_height="match_parent"
LinearLayout
memilikilayout_weight="1"
danlayout_height="0dp"
TextView
punyalayout_weight="0"
LinearLayout: android:gravity="center|bottom"
Perhatikan itu
fill_parent
tidak berarti "mengambil semua ruang yang tersedia". Namun, jika Anda menggunakanlayout_height="0dp"
denganlayout_weight="1"
, maka tampilan akan memakan semua ruang yang tersedia ( Tidak bisa mendapatkan tata letak yang tepat dengan "fill_parent" ).Berikut adalah beberapa kode yang saya tulis dengan cepat yang menggunakan dua LinearLayouts dengan cara yang mirip dengan kode Anda.
Hasilnya mirip dengan ini:
sumber
layout_weight="0"
atau apa fungsinya?Anda dapat menggunakan
RelativeLayout
dan menyelaraskannya ke bawahandroid:layout_alignParentBottom="true"
sumber
layout_weight="1"
. Dengan ini LinearLayout Anda akan menempati ketinggian yang tersisa di layar; sekarang Anda dapat mengatur gravitasi Tombol Anda ke bawah.Buat tata letak Relatif dan di dalam tata letak itu buat tombol Anda dengan baris ini
sumber
android:layout_centerHorizontal="true"
juga pusat secara horizontal membuat ini solusi yang bagus.pertama buat nama file sebagai
footer.xml
taruh kode ini di dalamnya.lalu buat header.xml dan masukkan kode ini di dalamnya .:
dan kemudian di Anda
main_activity.xml
dan letakkan kode ini di dalamnya: -selamat coding :)
sumber
Anda dapat melakukan ini dengan mengambil Layout bingkai sebagai Layout induk dan kemudian meletakkan layout linear di dalamnya. Berikut ini sebuah contoh:
sumber
sumber
Cukup tambahkan layout_weight = "1" ke dalam linearLayout Anda yang memiliki Tombol.
Sunting: - izinkan saya membuatnya sederhana
ikuti sesuatu seperti di bawah ini, nama tag mungkin tidak benar, itu hanya sebuah Ide
sumber
LL1
elemen sebagai pengatur jarak, jadi semuanya berikutnya akan berada di bawah? Trik yang cukup rapi.Tambahkan
android:windowSoftInputMode="adjustPan"
ke manifes - ke aktivitas yang sesuai:sumber
Anda dapat menggabungkan Tombol Anda dalam RelativeLayout bahkan jika Layout Induk Anda adalah Linear. Pastikan orang tua paling luar memiliki atribut android: layout_height diatur ke match_parent . Dan dalam tag Button itu tambahkan 'android: alignParentBottom = "True"'
sumber