Resource tata letak
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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 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 utama dapat berupa elemen
ViewGroup
, View
, atau <merge>
, tetapi hanya boleh ada satu
elemen utama dan harus berisi atribut xmlns:android
dengan ruang nama android
seperti yang ditunjukkan.
- elemen:
-
<ViewGroup>
- Penampung untuk elemen
View
lainnya. Terdapat banyak
jenis objek ViewGroup
, dan masing-masingnya memungkinkan Anda
menentukan tata letak elemen turunan dengan cara yang berbeda. Beberapa jenis objek
ViewGroup
menyertakan LinearLayout
,
RelativeLayout
, dan FrameLayout
.
Anda tidak boleh berasumsi bahwa setiap derivasi ViewGroup
akan menerima View
bertingkat. Beberapa ViewGroup
merupakan penerapan class AdapterView
, yang menentukan
turunannya hanya dari Adapter
.
atribut:
android:id
- ID resource. Nama resource unik untuk elemen, yang dapat digunakan untuk mendapatkan referensi ke
ViewGroup
dari aplikasi Anda. Lihat selengkapnya
tentang nilai untuk android:id
di bawah.
android:layout_height
- Dimensi atau kata kunci. Wajib. Tinggi grup, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Lihat nilai yang valid di bawah.
android:layout_width
- Dimensi atau kata kunci. Wajib. Lebar grup, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Lihat nilai yang valid di bawah.
Atribut lainnya didukung oleh class dasar ViewGroup
, dan ada lebih banyak lagi yang didukung oleh setiap penerapan
ViewGroup
. Untuk referensi tentang semua atribut yang tersedia,
lihat dokumentasi referensi yang terkait untuk class ViewGroup
(misalnya, Atribut LinearLayout
XML).
<View>
- Komponen UI individual, secara umum disebut sebagai "widget". Beberapa
jenis objek
View
menyertakan TextView
,
Button
, dan CheckBox
.
atribut:
android:id
- ID resource. Nama resource unik untuk elemen, yang dapat digunakan untuk
mendapatkan referensi ke
View
dari aplikasi Anda. Lihat selengkapnya tentang
nilai untuk android:id
di bawah.
android:layout_height
- Dimensi atau kata kunci. Wajib. Tinggi elemen, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Lihat nilai yang valid di bawah.
android:layout_width
- Dimensi atau kata kunci. Wajib. Lebar elemen, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Lihat nilai yang valid di bawah.
Atribut lainnya didukung oleh class dasar View
, dan ada lebih banyak lagi yang didukung oleh setiap penerapan
View
. Baca Tata Letak untuk informasi selengkapnya. Untuk
referensi tentang semua atribut yang tersedia,
lihat dokumentasi referensi yang terkait (misalnya, Atribut XML TextView).
<requestFocus>
- Elemen apa pun yang merepresentasikan objek
View
dapat menyertakan elemen kosong ini,
yang memberikan fokus awal ke induknya di layar. Hanya boleh ada satu
elemen ini dalam setiap file.
<include>
- Menyertakan file tata letak ke dalam tata letak ini.
atribut:
layout
- Resource tata letak. Wajib. Referensi ke resource
tata letak.
android:id
- ID resource. Mengganti ID yang diberikan ke tampilan utama dalam tata letak yang disertakan.
android:layout_height
- Dimensi atau kata kunci. Mengganti tinggi yang diberikan ke tampilan utama dalam
tata letak yang disertakan. Hanya efektif jika
android:layout_width
juga dideklarasikan.
android:layout_width
- Dimensi atau kata kunci. Mengganti lebar yang diberikan ke tampilan utama dalam
tata letak yang disertakan. Hanya efektif jika
android:layout_height
juga dideklarasikan.
Anda dapat menyertakan atribut tata letak lain dalam <include>
yang
didukung oleh elemen root dalam tata letak yang disertakan, yang kemudian akan menggantikan atribut yang telah ditentukan dalam
elemen root.
Perhatian: Jika ingin mengganti atribut tata letak menggunakan tag
<include>
, Anda harus mengganti
android:layout_height
dan android:layout_width
agar
atribut tata letak lainnya dapat diterapkan.
Cara lain untuk menyertakan tata letak adalah dengan menggunakan ViewStub
. Tampilan ini cukup ringan
dan tidak menggunakan ruang tata letak sampai Anda memperluasnya secara eksplisit, yang pada titik itu tampilan akan menyertakan
file tata letak yang ditentukan oleh atribut android:layout
miliknya. Untuk informasi selengkapnya tentang penggunaan ViewStub
, baca Memuat
Tampilan Sesuai Permintaan.
<merge>
- Elemen root alternatif yang tidak digambar dalam hierarki tata letak. Menggunakannya sebagai
elemen root akan berguna jika Anda tahu bahwa tata letak ini akan disertakan ke tata letak
yang sudah berisi Tampilan induk yang sesuai agar memuat turunan elemen
<merge>
. Secara khusus, hal ini berguna ketika Anda berencana untuk menyertakan tata letak ini
dalam file tata letak lain menggunakan <include>
dan
tata letak ini tidak memerlukan penampung ViewGroup
yang berbeda. Untuk informasi
cara menggabungkan tata letak selengkapnya, baca Menggunakan kembali Tata Letak dengan <include/>.
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 fitur aapt
akan
membuat bilangan bulat resource baru dalam class R.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 ke TextView
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 nilai android:id
.
Nilai untuk android:layout_height
dan
android: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
dan ViewGroup
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 metode
onCreate()
:
-
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:
-
Konten dan contoh kode di halaman ini tunduk pada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2022-12-01 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Informasi yang saya butuhkan tidak ada"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Terlalu rumit/langkahnya terlalu banyak"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Sudah usang"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Masalah terjemahan"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Masalah kode / contoh"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Lainnya"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Mudah dipahami"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Memecahkan masalah saya"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Lainnya"
}]