Resource tata letak menentukan arsitektur untuk UI dalam Aktivitas atau komponen UI.
- lokasi file:
res/layout/filename.xml
Nama file akan digunakan sebagai ID resource.- jenis data resource terhimpun:
- 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 utama dapat berupa elemen
ViewGroup
,View
, atau<merge>
, tetapi hanya boleh ada satu elemen utama dan harus berisi atributxmlns:android
dengan ruang namaandroid
seperti yang ditunjukkan. - elemen:
-
Nilai untuk
android:id
Untuk nilai ID, Anda biasanya harus menggunakan bentuk sintaksis ini:
"@+id/name"
. Simbol plus,+
, menunjukkan bahwa ini adalah ID resource baru dan fituraapt
akan membuat bilangan bulat resource baru dalam classR.java
, jika belum ada. Contoh:<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
danandroid:layout_width
:Nilai tinggi dan lebar dapat dinyatakan menggunakan satuan 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 sendiri elemen kustom
View
danViewGroup
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 mempelajari lebih lanjut, lihat panduan developer tentang Komponen 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 berikut akan 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: