Xamarin.Android LinearLayout
LinearLayout
adalah ViewGroup
yang menampilkan anak View
elemen dalam arah linier, baik secara vertikal atau horizontal.
Anda harus berhati-hati tentang penggunaan LinearLayout
berlebihan .
Jika Anda mulai bersarang beberapa LinearLayout
s, Anda mungkin ingin mempertimbangkan untuk menggunakan RelativeLayout
Sebaliknya.
Mulai proyek baru bernama HelloLinearLayout.
Buka Sumber Daya/Tata Letak/Main.axml dan sisipkan yang berikut ini:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation= "vertical"
android:layout_width= "match_parent"
android:layout_height= "match_parent" >
<LinearLayout
android:orientation= "horizontal"
android:layout_width= "match_parent"
android:layout_height= "match_parent"
android:layout_weight= "1" >
<TextView
android:text= "red"
android:gravity= "center_horizontal"
android:background= "#aa0000"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
<TextView
android:text= "green"
android:gravity= "center_horizontal"
android:background= "#00aa00"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
<TextView
android:text= "blue"
android:gravity= "center_horizontal"
android:background= "#0000aa"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
<TextView
android:text= "yellow"
android:gravity= "center_horizontal"
android:background= "#aaaa00"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
</LinearLayout>
<LinearLayout
android:orientation= "vertical"
android:layout_width= "match_parent"
android:layout_height= "match_parent"
android:layout_weight= "1" >
<TextView
android:text= "row one"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
<TextView
android:text= "row two"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
<TextView
android:text= "row three"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
<TextView
android:text= "row four"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
</LinearLayout>
</LinearLayout>
Periksa XML ini dengan hati-hati. Ada akar LinearLayout
yang mendefinisikan orientasinya menjadi vertikal – semua anak View
(yang memiliki dua) akan ditumpuk secara vertikal. Anak pertama adalah anak lain LinearLayout
yang menggunakan orientasi horizontal dan anak kedua adalah LinearLayout
yang menggunakan orientasi vertikal. Masing-masing berlapis LinearLayout
ini berisi beberapa TextView
elemen, yang berorientasi satu sama lain dengan cara yang ditentukan oleh induk LinearLayout
mereka .
Sekarang buka HelloLinearLayout.cs dan pastikan memuat tata letak Sumber Daya/Tata Letak/Main.axml di OnCreate()
Metode:
protected override void OnCreate (Bundle savedInstanceState)
{
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.Main);
}
Metode SetContentView(int)
) memuat file tata letak untuk Activity
, yang ditentukan oleh ID sumber daya – Resources.Layout.Main
mengacu pada file tata letak Resources/Layout/Main.axml .
Jalankan aplikasi lagi. Anda akan melihat berikut ini:
Perhatikan bagaimana atribut XML menentukan perilaku setiap Tampilan. Coba bereksperimen dengan nilai yang berbeda untuk android:layout_weight
melihat bagaimana real estat layar didistribusikan berdasarkan berat setiap elemen. Lihat dokumen Objek Tata Letak Umum untuk informasi selengkapnya tentang caraLinearLayout
android:layout_weight
menangani atribut .
Referensi
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.