Resource tata letak menentukan arsitektur untuk UI dalam Activity
atau
komponen UI.
- lokasi file:
res/layout/filename.xml
Nama file digunakan sebagai ID resource.- jenis data resource yang dihimpun:
- Penunjuk resource ke resource
View
(atau subclass) - referensi resource:
-
Di Java:
R.layout.filename
Dalam XML:@[package:]layout/filename
- sintaksis:
-
<?xml version="1.0" encoding="utf-8"?> <ViewGroup xmlns:android="http://schemas.android.com/apk/res/android" android:id="@[+][package:]id/resource_name" android:layout_height=["dimension" | "match_parent" | "wrap_content"] android:layout_width=["dimension" | "match_parent" | "wrap_content"] [ViewGroup-specific attributes] > <View android:id="@[+][package:]id/resource_name" android:layout_height=["dimension" | "match_parent" | "wrap_content"] android:layout_width=["dimension" | "match_parent" | "wrap_content"] [View-specific attributes] > <requestFocus/> </View> <ViewGroup > <View /> </ViewGroup> <include layout="@layout/layout_resource"/> </ViewGroup>
Catatan: Elemen root dapat berupa
ViewGroup
,View
, atau elemen<merge>
, tetapi hanya boleh ada satu elemen root dan harus berisi atributxmlns:android
dengan namespaceandroid
seperti ditunjukkan dalam contoh sintaksis sebelumnya. - elemen:
-
Nilai untuk android:id
Untuk nilai ID, Anda biasanya menggunakan formulir sintaksis ini:
"@+id/name"
, seperti ditunjukkan pada contoh berikut. Simbol plus,+
, menunjukkan bahwa ini adalah ID resource baru, dan alataapt
akan membuat bilangan bulat resource baru dalam classR.java
, jika belum ada.<TextView android:id="@+id/nameTextbox"/>
Nama
nameTextbox
sekarang menjadi ID resource yang dilampirkan ke elemen ini. Anda kemudian dapat merujuk keTextView
yang terkait dengan ID tersebut di Java:Kotlin
val textView: TextView? = findViewById(R.id.nameTextbox)
Java
TextView textView = findViewById(R.id.nameTextbox);
Kode ini akan mengembalikan objek
TextView
.Namun, jika sudah menentukan resource ID, dan resource ini belum digunakan, Anda dapat menerapkan ID tersebut ke elemen
View
dengan mengecualikan simbol plus dalam nilaiandroid:id
.Nilai untuk android:layout_height dan android:layout_width:
Nilai tinggi dan lebar dinyatakan menggunakan salah satu unit dimensi yang didukung oleh Android (px, dp, sp, pt, in, mm) atau dengan kata kunci berikut:
Nilai Deskripsi match_parent
Menyetel dimensi agar sesuai dengan milik elemen induk. Ditambahkan pada API level 8 untuk menghentikan fill_parent
.wrap_content
Menyetel dimensi ke ukuran yang hanya diperlukan agar sesuai dengan konten elemen ini. Elemen tampilan kustom
Anda dapat membuat elemen
View
danViewGroup
kustom, lalu menerapkannya ke tata letak dengan cara yang sama seperti elemen tata letak standar. Anda juga dapat menetapkan atribut yang didukung dalam elemen XML. Untuk mengetahui informasi selengkapnya, lihat Membuat komponen tampilan kustom. - contoh:
- File XML yang disimpan di
res/layout/main_activity.xml
:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
Kode aplikasi ini memuat tata letak untuk
Activity
dalam metodeonCreate()
: -
Kotlin
public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) }
Java
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); }
- lihat juga: