Apa perbedaan antara LinearLayout, RelativeLayout, dan AbsoluteLayout?

Jawaban:

213

LinearLayout berarti Anda dapat menyelaraskan tampilan satu per satu (vertikal / horizontal).

RelativeLayout berarti berdasarkan pada hubungan pandangan dari orang tuanya dan pandangan lain.

ConstraintLayout mirip dengan RelativeLayout karena menggunakan relasi dengan posisi dan ukuran widget, tetapi memiliki fleksibilitas tambahan dan lebih mudah digunakan di Editor Layout.

WebView untuk memuat halaman html, statis atau dinamis.

FrameLayout untuk memuat anak satu di atas yang lain, seperti kartu di dalam bingkai, kita dapat menempatkan satu di atas yang lain atau di mana saja di dalam bingkai.

usang - AbsoluteLayout berarti Anda harus memberikan posisi tepat di mana tampilan seharusnya.

Untuk informasi lebih lanjut, silakan periksa alamat ini https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts

Ganapathy C
sumber
2
Periksa tautan ini juga Bung .. mobiforge.com/design/story/…
Ganapathy C
2
AbsoluteLayout sudah usang!
Goreng
3
@Fry saya jawab ini sebelum 2 tahun. Silakan baca pertanyaannya.
Ganapathy C
Tampaknya AbsoluteLayoutsudah usang karena suatu alasan; jika konten tidak sesuai, itu secara acak melemparkan sesuatu. Anda lebih baik dengan LinearLayoutdan mengatur semua bantalannya 0.
EpicPandaForce
50

Definisi:

  • Frame Layout: Ini dirancang untuk memblokir area pada layar untuk menampilkan satu item.
  • Layout Linier: Layout yang mengatur anak-anaknya dalam satu kolom atau satu baris.
  • Layout Relatif: Layout ini adalah grup tampilan yang menampilkan tampilan anak di posisi relatif.
  • Layout Tabel: Layout yang mengatur anak-anaknya menjadi baris dan kolom.

Informasi Lebih Lanjut:

FrameLayout

FrameLayout dirancang untuk memblokir area di layar untuk menampilkan satu item. Secara umum, FrameLayout harus digunakan untuk menampung satu tampilan anak, karena bisa sulit untuk mengatur tampilan anak dengan cara yang dapat disesuaikan dengan ukuran layar yang berbeda tanpa anak-anak saling tumpang tindih. Anda dapat, bagaimanapun, menambahkan beberapa anak ke FrameLayout dan mengontrol posisi mereka di dalam FrameLayout dengan menetapkan gravitasi untuk setiap anak, menggunakan android:layout_gravityatribut.

Tampilan anak digambar dalam tumpukan, dengan anak yang paling baru ditambahkan di atasnya. Ukuran FrameLayout adalah ukuran anak terbesarnya (plus bantalan), terlihat atau tidak (jika orang tua FrameLayout mengizinkan).

RelativeLayout

RelativeLayout adalah utilitas yang sangat kuat untuk merancang antarmuka pengguna karena dapat menghilangkan grup tampilan bersarang dan menjaga hierarki tata letak Anda tetap datar, yang meningkatkan kinerja. Jika Anda menggunakan beberapa grup LinearLayout yang bersarang, Anda mungkin dapat menggantinya dengan RelativeLayout tunggal.

(Dokumen saat ini di sini )

TableLayout

TableLayout terdiri dari sejumlah TableRowobjek, masing-masing mendefinisikan baris (sebenarnya, Anda dapat memiliki anak lain, yang akan dijelaskan di bawah). Wadah TableLayout tidak menampilkan garis batas untuk baris, kolom, atau selnya. Setiap baris memiliki nol atau lebih sel; setiap sel dapat menampung satu objek Tampilan. Tabel memiliki kolom sebanyak baris dengan sel terbanyak. Sebuah tabel dapat membiarkan sel kosong. Sel dapat menjangkau kolom, seperti dalam HTML.

Lebar kolom ditentukan oleh baris dengan sel terlebar di kolom itu.


Catatan : Tata Letak Absolut sudah usang.

Setan
sumber
4

LinearLayout: Layout yang mengatur anak-anaknya menjadi satu baris horizontal atau vertikal. Ini menciptakan scrollbar jika panjang jendela melebihi panjang layar. Itu berarti Anda dapat menyelaraskan tampilan satu per satu (secara vertikal / horizontal).

RelativeLayout: Ini memungkinkan Anda untuk menentukan lokasi objek anak relatif satu sama lain (anak A di sebelah kiri anak B) atau ke induk (disejajarkan dengan bagian atas induk). Ini didasarkan pada hubungan pandangan dari orang tuanya dan pandangan lain.

WebView: untuk memuat halaman html, statis atau dinamis.

Untuk informasi lebih lanjut lihat tautan ini: http://developer.android.com/guide/topics/ui/layout-objects.html

Raghvendra Tolia
sumber
4

LinearLayout - Dalam LinearLayout, tampilan diatur baik dalam orientasi vertikal atau horizontal.

RelativeLayout - RelativeLayout jauh lebih kompleks daripada LinearLayout, karenanya memberikan fungsionalitas yang jauh lebih banyak. Tampilan ditempatkan, seperti namanya, relatif satu sama lain.

FrameLayout - Berperilaku sebagai objek tunggal dan pandangan anaknya tumpang tindih satu sama lain. FrameLayout mengambil ukuran sesuai elemen anak terbesar.

Layout Koordinator - Ini adalah ViewGroup paling kuat yang diperkenalkan di perpustakaan dukungan Android. Ini berperilaku sebagai FrameLayout dan memiliki banyak fungsi untuk mengoordinasikan antara pandangan anak-anaknya, misalnya, tombol mengambang dan snackbar, Toolbar dengan tampilan yang dapat digulir.

Tulsi
sumber
2

Penjelasan hebat di sini:
https://www.cuelogic.com/blog/using-framelayout-for-design-xml-layouts-in-android

LinearLayout mengatur elemen secara berdampingan baik secara horizontal maupun vertikal.

RelativeLayout membantu Anda mengatur elemen UI Anda berdasarkan aturan tertentu. Anda dapat menentukan aturan seperti: menyelaraskan ini ke tepi kiri orangtua, letakkan ini di kiri / kanan elemen ini dll.

AbsoluteLayout adalah untuk penentuan posisi absolut, yaitu Anda dapat menentukan koordinat yang tepat di mana tampilan harus pergi.

FrameLayout memungkinkan penempatan tampilan di sepanjang sumbu Z. Itu berarti bahwa Anda dapat menumpuk elemen tampilan Anda satu di atas yang lain.

taha027
sumber