Bagikan melalui


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 LinearLayoutberlebihan . Jika Anda mulai bersarang beberapa LinearLayouts, 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 LinearLayoutini berisi beberapa TextView elemen, yang berorientasi satu sama lain dengan cara yang ditentukan oleh induk LinearLayoutmereka .

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:

Screenshot of app first LinearLayout arranged horizontally, second vertically

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 caraLinearLayoutandroid: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.