Resource tata letak
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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 atribut xmlns:android
dengan namespace android
seperti ditunjukkan dalam contoh sintaksis sebelumnya.
- elemen:
-
<ViewGroup>
- Penampung untuk elemen
View
lainnya. Terdapat banyak
jenis objek ViewGroup
, dan masing-masing memungkinkan Anda
menentukan tata letak elemen turunan dengan cara yang berbeda. Beberapa jenis objek
ViewGroup
menyertakan LinearLayout
,
RelativeLayout
, dan FrameLayout
.
Jangan berasumsi bahwa setiap derivasi ViewGroup
akan menerima tampilan bertingkat. Beberapa grup tampilan
adalah implementasi 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. Untuk mengetahui
informasi selengkapnya, lihat bagian Nilai untuk android:id.
android:layout_height
- Dimensi atau kata kunci. Wajib. Tinggi grup, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Untuk mengetahui informasi selengkapnya,
lihat bagian Nilai untuk android:layout_height dan
android:layout_width.
android:layout_width
- Dimensi atau kata kunci. Wajib. Lebar grup, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Untuk mengetahui informasi selengkapnya,
lihat bagian Nilai untuk android:layout_height dan
android:layout_width.
Class dasar ViewGroup
mendukung lebih banyak atribut, dan 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 XML
LinearLayout
.
<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. Untuk mengetahui
informasi selengkapnya, lihat bagian Nilai untuk android:id.
android:layout_height
- Dimensi atau kata kunci. Wajib. Tinggi elemen, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Untuk mengetahui informasi selengkapnya,
lihat bagian Nilai untuk android:layout_height dan
android:layout_width.
android:layout_width
- Dimensi atau kata kunci. Wajib. Lebar elemen, sebagai
nilai dimensi (atau
resource dimensi) atau kata kunci
(
"match_parent"
atau "wrap_content"
). Untuk mengetahui informasi selengkapnya,
lihat bagian Nilai untuk android:layout_height dan
android:layout_width.
Class dasar View
mendukung lebih banyak atribut, dan banyak lagi yang didukung oleh setiap penerapan
View
. Untuk mengetahui informasi selengkapnya, baca Tata Letak. 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, dan kemudian 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
ringan yang tidak menggunakan ruang tata letak sampai Anda memperluasnya secara eksplisit. Saat Anda melakukannya, kode tersebut akan menyertakan
file tata letak yang ditentukan oleh atribut android:layout
miliknya. Untuk mengetahui 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
View
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 mengetahui informasi
cara menggabungkan tata letak selengkapnya, baca Menggunakan kembali tata letak dengan <include>.
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 alat aapt
akan
membuat bilangan bulat resource baru dalam class R.java
, jika belum ada.
<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 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
dan ViewGroup
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 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 kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-01-09 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"
}]
{
"last_modified": "Terakhir diperbarui pada 2024-01-09 UTC.",
"state": ""
}