Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Resource drawable adalah konsep umum untuk grafis yang dapat digambar pada layar dan
bisa ditampilkan dengan API seperti getDrawable(int) atau diterapkan
ke resource XML lainnya dengan atribut seperti android:drawable dan android:icon.
Ada beberapa jenis drawable:
Drawable yang mengelola array drawable lainnya. Drawable ini digambar dalam urutan array, sehingga
elemen dengan indeks terbesar digambar paling atas. Membuat LayerDrawable.
File XML yang merujuk pada berbagai grafik bitmap
untuk berbagai kondisi—misalnya, menggunakan gambar yang berbeda ketika satu tombol diketuk.
Membuat StateListDrawable.
File XML yang menentukan drawable yang mengelola sejumlah drawable alternatif, masing-masing
disertai nilai numerik maksimum. Membuat LevelListDrawable.
File XML yang menentukan drawable yang menyisipkan drawable lainnya dengan jarak yang telah ditentukan.
Hal ini bermanfaat saat tampilan memerlukan drawable latar belakang yang lebih kecil dari ikatan tampilan
sesungguhnya.
Catatan:resource warna juga dapat
digunakan sebagai drawable dalam XML. Misalnya, ketika membuat sebuah drawable daftar status, Anda dapat mereferensikan sebuah resource warna untuk atribut android:drawable (android:drawable="@color/green").
Bitmap
Gambar bitmap. Android mendukung file bitmap dalam format berikut:
PNG (lebih disukai), WEBP (lebih disukai, memerlukan level API 17 atau yang lebih tinggi), JPG (dapat diterima), GIF (tidak direkomendasikan).
Anda dapat merujuk file bitmap secara langsung, menggunakan nama file sebagai ID resource, atau membuat
ID resource alias di XML.
Catatan: File bitmap mungkin dioptimalkan secara otomatis dengan kompresi
gambar utuh oleh alat aapt selama proses build. Misalnya,
PNG warna asli yang tidak memerlukan lebih dari 256 warna dapat dikonversi menjadi PNG 8 bit
dengan palet warna. Cara ini akan menghasilkan gambar dengan kualitas setara yang membutuhkan lebih sedikit
memori.
Perhatikan bahwa biner gambar yang terletak dalam direktori ini dapat berubah selama build. Jika
Anda berencana membaca gambar sebagai stream bit untuk mengonversinya ke bitmap, taruh gambar dalam
folder res/raw/, tempat gambar tidak dioptimalkan.
File bitmap
File bitmap adalah file PNG, WEBP, JPG, atau GIF. Android membuat resource Drawable
untuk setiap file ini ketika Anda menyimpannya dalam direktori res/drawable/.
lokasi file:
res/drawable/filename.png (.png, .webp, .jpg, atau .gif)
Nama filenya adalah ID resource
Bitmap XML adalah resource yang ditentukan pada XML yang mengarah pada file bitmap. Dampaknya adalah alias untuk
file bitmap raw. XML dapat menentukan properti tambahan untuk bitmap seperti dithering dan pemetakan.
Catatan: Anda bisa menggunakan elemen sebagai turunan dari
elemen . Misalnya
, ketika membuat daftar status atau daftar lapisan,
Anda dapat mengecualikan atribut android:drawable
dari elemen dan menyarangkan di dalamnya
yang menentukan item drawable.
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
Wajib. Mendefinisikan sumber bitmap dan propertinya.
Atribut:
xmlns:android
String. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android". Hal ini diperlukan hanya jika
merupakan elemen root. Hal ini tidak diperlukan saat
disusun bertingkat di dalam .
android:src
Resource drawable. Wajib. Rujukan pada resource
drawable.
android:antialias
Boolean. Mengaktifkan atau menonaktifkan penggunaan antialias.
android:dither
Boolean. Mengaktifkan atau menonaktifkan dithering pada bitmap jika bitmap tidak
memiliki konfigurasi piksel yang sama dengan layar, seperti bitmap ARGB 8888 pada layar
RGB 565.
android:filter
Boolean. Mengaktifkan atau menonaktifkan pemfilteran bitmap. Pemfilteran digunakan saat
bitmap diciutkan atau dibentangkan untuk memperhalus tampilannya.
android:gravity
Kata kunci. Mendefinisikan gravitasi untuk bitmap. Gravitasi menunjukkan lokasi
penempatan drawable dalam container-nya jika bitmap lebih kecil dari container-nya.
Harus berupa satu atau beberapa nilai konstanta berikut, yang dipisahkan dengan |:
Nilai
Deskripsi
top
Meletakkan objek pada bagian atas container, tanpa mengubah ukurannya.
bottom
Meletakkan objek pada bagian bawah container, tanpa mengubah ukurannya.
left
Meletakkan objek pada bagian tepi kiri container-nya, tanpa mengubah ukurannya.
right
Meletakkan objek pada bagian tepi kanan container-nya, tanpa mengubah ukurannya.
center_vertical
Meletakkan objek pada bagian tengah vertikal container-nya, tanpa mengubah ukurannya.
fill_vertical
Memperbesar ukuran vertikal objek jika diperlukan sehingga mengisi seluruh container-nya.
center_horizontal
Meletakkan objek pada tengah horizontal container-nya, tanpa mengubah ukurannya.
fill_horizontal
Memperbesar ukuran horizontal objek jika diperlukan sehingga mengisi seluruh kontainernya.
center
Meletakkan objek pada tengah container-nya, tepat pada sumbu vertikal dan horizontal, tanpa
mengubah ukurannya.
fill
Memperbesar ukuran horizontal dan vertikal objek jika diperlukan sehingga mengisi seluruh
container-nya. Ini adalah defaultnya.
clip_vertical
Opsi tambahan yang dapat ditetapkan supaya tepian bagian atas dan/atau bawah pada turunan diklip
sesuai dengan batas container-nya. Klip ini berdasarkan gravitasi vertikal: gravitasi atas mengklip
tepi bagian bawah, gravitasi bawah mengklip tepi bagian atas, dan tidak mengklip kedua tepinya.
clip_horizontal
Opsi tambahan yang dapat diatur supaya tepian kanan dan/atau kiri pada turunan diklip
menyesuaikan dengan batas container-nya. Klip berdasarkan gravitasi horizontal: gravitasi kiri mengklip
tepi bagian kanan, gravitasi kanan mengklip tepi bagian kiri, dan tidak mengklip kedua tepinya.
android:mipMap
Boolean. Mengaktifkan atau menonaktifkan petunjuk mipmap. Baca setHasMipMap() untuk mengetahui informasi selengkapnya.
Nilai defaultnya adalah false.
android:tileMode
Kata kunci. Mendefinisikan mode kotak. Bila mode kotak diaktifkan, bitmap
akan diulang. Gravitasi akan diabaikan bila mode kotak diaktifkan.
Harus salah satu dari nilai konstanta berikut ini:
Nilai
Deskripsi
disabled
Jangan mengotakkan bitmap. Nilai ini merupakan default.
clamp
Duplikasikan warna tepi jika shader melenceng keluar dari batas aslinya
repeat
Ulangi gambar shader secara horizontal dan vertikal.
mirror
Ulangi gambar shader secara horizontal dan vertikal, saling mencerminkan gambar sehingga
gambar di sebelahnya selalu mulus.
NinePatch adalah gambar PNG tempat Anda bisa menentukan area
yang dapat direntangkan yang diskalakan Android ketika isi dalam tampilan melebihi batas gambar normal. Anda
biasanya menetapkan gambar jenis ini sebagai latar belakang tampilan yang setidaknya memiliki satu dimensi yang disetel
ke "wrap_content".
Saat tampilan diperluas untuk mengakomodasi konten, gambar nine-patch
juga diskalakan agar sesuai dengan ukuran tampilan. Contoh penggunaan gambar nine-patch adalah
latar belakang yang digunakan oleh widget Button standar Android, yang harus membentang guna
mengakomodasi teks (atau gambar) di dalam tombol.
Sama dengan bitmap biasa, Anda dapat merujuk file nine-patch secara langsung
dari resource yang ditentukan oleh XML.
Wajib. Menentukan sumber nine-patch dan propertinya.
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
android:src
Resource drawable. Wajib. Rujukan ke file
nine-patch.
android:dither
Boolean. Mengaktifkan atau menonaktifkan dithering pada bitmap jika bitmap tidak
memiliki konfigurasi piksel yang sama dengan layar, seperti bitmap ARGB 8888 pada layar
RGB 565.
LayerDrawable adalah objek drawable
yang mengelola serangkaian drawable lainnya. Setiap drawable yang ada dalam daftar akan digambar sesuai
urutan daftar. Drawable terakhir dalam daftar akan digambar di bagian atas.
Masing-masing drawable ditunjukkan dengan elemen di dalam elemen tunggal.
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
Wajib. Elemen ini harus menjadi elemen root. Berisi satu atau beberapa elemen .
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
Menetapkan drawable ke lokasi di drawable lapisan, pada posisi yang ditetapkan dengan atributnya.
Harus berupa turunan dari elemen . Menerima elemen
turunan.
Atribut:
android:drawable
Resource drawable. Wajib. Rujukan pada resource
drawable.
android:id
ID Resource. ID resource unik untuk drawable ini. Untuk membuat ID resource
baru bagi item ini, gunakan bentuk:
"@+id/name". Simbol plus menunjukkan bahwa ID ini dibuat sebagai ID
baru. Anda dapat menggunakan ID ini untuk
mengambil dan memodifikasi drawable dengan View.findViewById() atau Activity.findViewById().
android:top
Dimensi. Offset atas, sebagai nilai dimensi atau resource dimensi.
android:right
Dimensi. Offset kanan, sebagai nilai dimensi atau resource dimensi.
android:bottom
Dimensi. Offset bawah, sebagai nilai dimensi atau resource dimensi.
android:left
Dimensi. Offset kiri, sebagai nilai dimensi atau resource dimensi.
Semua item drawable diskalakan agar sesuai dengan ukuran tampilan yang menampungnya, secara default. Oleh karena itu,
menempatkan gambar pada daftar lapisan pada berbagai posisi dapat meningkatkan ukuran tampilan dan
beberapa gambar menskalakan sebagaimana mestinya.
Untuk menghindari
penskalaan item dalam daftar, gunakan elemen di dalam elemen untuk menentukan drawable dan menetapkan gravitasi dengan sesuatu yang
skalanya tetap, misalnya "center". Misalnya, berikut menentukan sebuah item
yang di skalakan agar masuk ke tampilan container-nya:
android:drawable="@drawable/image"/>
Guna menghindari penskalaan, contoh berikut menggunakan elemen dengan gravitasi
terpusat:
Contoh ini menggunakan elemen yang disusun bertingkat untuk menentukan resource
drawable untuk setiap item dengan gravitasi "center". Untuk memastikan bahwa tidak satupun gambar diskalakan untuk
sesuai dengan ukuran container, dikarenakan pengubahan ukuran yang terjadi oleh gambar offset.
XML tata letak ini menerapkan drawable ke tampilan:
StateListDrawable adalah objek drawable yang ditentukan pada XML
menggunakan beberapa gambar untuk menampilkan grafis yang sama, bergantung pada status
objek. Misalnya, status widget Button dapat diketuk, difokuskan,
atau tidak keduanya. Dengan menggunakan drawable daftar status, Anda dapat memberikan gambar latar yang berbeda untuk setiap
status.
Anda bisa menjelaskan daftar keadaan dalam file XML. Setiap grafis ditunjukkan dengan elemen di dalam elemen tunggal. Setiap
menggunakan berbagai atribut untuk menjelaskan status tempatnya digunakan sebagai grafis untuk
drawable.
Pada setiap perubahan status, daftar status akan ditelusuri dari atas ke bawah, dan item pertama
yang cocok dengan status saat ini akan digunakan. Pilihannya tidak didasarkan pada “kecocokan
terbaik”, tetapi item pertama yang memenuhi kriteria minimum status.
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
Wajib. Elemen ini harus menjadi elemen root. Berisi satu atau beberapa elemen .
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
android:constantSize
Boolean. Benar jika ukuran internal drawable yang dilaporkan tetap konstan saat status
berubah (ukuran maksimum untuk semua status); salah jika ukurannya bervariasi berdasarkan
status saat ini. Default-nya adalah salah.
android:dither
Boolean. Benar untuk mengaktifkan dithering pada bitmap jika bitmap tidak memiliki konfigurasi piksel
yang sama dengan layar, seperti bitmap ARGB 8888 pada layar RGB 565; salah untuk
menonaktifkan dithering. Nilai defaultnya adalah benar (true).
android:variablePadding
Boolean. Benar jika padding drawable berubah berdasarkan status
saat ini yang dipilih; salah jika padding harus tetap sama, berdasarkan padding
maksimum dari semua status. Mengaktifkan fitur ini mengharuskan Anda mengatur
tata letak saat status berubah, yang sering kali tidak didukung. Default-nya adalah salah.
Mendefinisikan drawable yang akan digunakan selama status tertentu, seperti yang dijelaskan oleh atributnya. Harus merupakan
turunan dari elemen .
Atribut:
android:drawable
Resource drawable. Wajib. Rujukan pada resource drawable.
android:state_pressed
Boolean. Benar jika item ini digunakan saat objek diketuk, seperti saat tombol
disentuh; salah jika item ini digunakan dalam status default, tidak diketuk.
android:state_focused
Boolean. Benar jika item ini digunakan saat objek memiliki fokus input,
seperti saat pengguna memilih input teks; salah jika item ini digunakan dalam status default,
tidak difokuskan.
android:state_hovered
Boolean. Benar jika item ini digunakan saat kursor diarahkan ke objek;
salah jika item ini digunakan dalam status default, tanpa kursor. Sering kali,
drawable ini dapat berupa drawable yang sama dengan yang digunakan untuk status "fokus".
Diperkenalkan dalam level API 14.
android:state_selected
Boolean. Benar jika item ini digunakan saat objek adalah pilihan
pengguna saat ini ketika menavigasi dengan kontrol arah, seperti saat menavigasi daftar
dengan D-pad; salah jika item ini digunakan saat objek tidak dipilih.
Status yang dipilih digunakan jika android:state_focused tidak mencukupi,
seperti saat tampilan daftar memiliki fokus dan item di dalamnya dipilih dengan D-pad.
android:state_checkable
Boolean. Benar jika item ini digunakan saat objek dapat dipilih; salah jika item ini digunakan saat objek tidak dapat dipilih. Hanya berguna jika objek dapat
beralih antara widget yang dapat dipilih dan yang tidak dapat dipilih.
android:state_checked
Boolean. Benar jika item ini digunakan saat objek dipilih; salah jika digunakan saat objek dibatalkan pilihannya.
android:state_enabled
Boolean. Benar jika item ini digunakan saat objek diaktifkan,
yang berarti mampu menerima peristiwa sentuh atau klik; salah jika digunakan saat objek
dinonaktifkan.
android:state_activated
Boolean. Benar jika item ini digunakan saat objek diaktifkan sebagai
pilihan persisten, seperti untuk "menyorot" item daftar yang dipilih sebelumnya dalam tampilan
navigasi persisten; salah jika digunakan saat objek tidak diaktifkan.
Diperkenalkan dalam level API 11.
android:state_window_focused
Boolean. Benar jika item ini digunakan saat jendela aplikasi sedang difokuskan, artinya
aplikasi berada di latar depan; salah jika item ini digunakan saat jendela
aplikasi tidak sedang difokuskan, misalnya, jika menu notifikasi ditarik ke bawah atau dialog muncul.
Catatan: Android menerapkan item pertama dalam daftar status
yang sesuai dengan status objek saat ini. Jadi, jika item pertama dalam daftar
tidak berisi atribut status sebelumnya, item tersebut akan diterapkan setiap saat. Inilah sebabnya Anda ingin
nilai default selalu menjadi yang terakhir, seperti ditunjukkan dalam contoh berikut.
contoh:
File XML yang disimpan di res/drawable/button.xml:
Drawable yang mengelola sejumlah drawable alternatif, masing-masing diberikan nilai numerik
maksimum. Menyetel nilai tingkat drawable dengan setLevel() memuat resource drawable dalam
daftar nilai tingkat yang memiliki nilai android:maxLevel lebih besar dari atau sama dengan nilai
yang diteruskan ke metode.
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
TransitionDrawable adalah objek drawable
yang bisa berjalan secara memudar bersilang antara dua resource drawable lainnya.
Masing-masing drawable ditunjukkan dengan elemen di dalam elemen tunggal. Tidak lebih dari dua item yang didukung. Untuk transisi maju, panggil startTransition(). Untuk
transisi mundur, panggil reverseTransition().
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
Wajib. Elemen ini harus menjadi elemen root. Berisi satu atau beberapa elemen .
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
Tentukan drawable untuk digunakan sebagai bagian dari transisi drawable.
Harus berupa turunan dari elemen . Menerima elemen
turunan.
Atribut:
android:drawable
Resource drawable. Wajib. Rujukan pada resource
drawable.
android:id
ID Resource. ID resource unik untuk drawable ini. Untuk membuat ID resource
baru bagi item ini, gunakan bentuk:
"@+id/name". Simbol plus menunjukkan bahwa ID ini dibuat sebagai ID
baru. Anda dapat menggunakan ID ini untuk
mengambil dan memodifikasi drawable dengan View.findViewById() atau Activity.findViewById().
android:top
Bilangan bulat. Offset atas dalam piksel.
android:right
Bilangan bulat. Offset kanan dalam piksel.
android:bottom
Bilangan bulat. Offset bawah dalam piksel.
android:left
Bilangan bulat. Offset kiri dalam piksel.
contoh:
File XML yang disimpan di res/drawable/transition.xml:
Drawable yang didefinisikan dalam XML yang menyisipkan drawable lainnya dengan jarak tertentu. Hal ini bermanfaat
saat tampilan memerlukan latar belakang yang lebih kecil dari ikatan tampilan sesungguhnya.
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
Drawable yang ditentukan dalam XML yang mengklip drawable lain berdasarkan tingkat drawable ini untuk saat ini. Anda
dapat mengontrol seberapa banyak drawable turunan yang diklip dengan lebar dan tinggi berdasarkan tingkatnya, serta
gravitasi untuk mengontrol lokasinya dalam keseluruhan container. Yang paling sering digunakan untuk menjalankan
sesuatu seperti status progres.
lokasi file:
res/drawable/filename.xml
Nama file adalah ID resource
Wajib. Mendefinisikan drawable klip. Elemen ini harus menjadi elemen root.
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
android:drawable
Resource drawable. Wajib. Merujuk ke resource
drawable yang akan diklip.
android:clipOrientation
Kata kunci. Orientasi untuk klip.
Harus salah satu dari nilai konstanta berikut ini:
Nilai
Deskripsi
horizontal
Mengklip drawable secara horizontal.
vertical
Mengklip drawable secara vertikal.
android:gravity
Kata kunci. Menentukan lokasi drawable yang akan diklip.
Harus berupa satu atau beberapa nilai konstanta berikut, yang dipisahkan dengan |:
Nilai
Deskripsi
top
Meletakkan objek pada bagian atas container, tanpa mengubah ukurannya. Bila clipOrientation adalah "vertical", pengeklipan akan terjadi di bagian bawah drawable.
bottom
Meletakkan objek pada bagian bawah container, tanpa mengubah ukurannya. Bila clipOrientation adalah "vertical", pengeklipan akan terjadi di bagian atas drawable.
left
Meletakkan objek pada bagian tepi kiri container-nya, tanpa mengubah ukurannya. Ini adalah
defaultnya. Bila clipOrientation adalah "horizontal", pengeklipan akan terjadi di bagian kanan
drawable.
right
Meletakkan objek pada bagian tepi kanan container-nya, tanpa mengubah ukurannya. Bila clipOrientation adalah "horizontal", pengeklipan akan terjadi di bagian kiri
drawable.
center_vertical
Meletakkan objek pada bagian tengah vertikal container-nya, tanpa mengubah ukurannya. Pengeklipan berfungsi
seperti bila gravitasi adalah "center".
fill_vertical
Memperbesar ukuran vertikal objek jika diperlukan sehingga mengisi seluruh container-nya. Bila clipOrientation adalah "vertical", pengeklipan tidak akan terjadi karena drawable mengisi
ruang vertikal (kecuali jika tingkatnya adalah 0, dalam hal ini tidak terlihat).
center_horizontal
Meletakkan objek pada bagian tengah horizontal container-nya, tanpa mengubah ukurannya.
Pengeklipan berfungsi seperti bila gravitasi adalah "center".
fill_horizontal
Memperbesar ukuran horizontal objek jika diperlukan sehingga mengisi seluruh container-nya. Bila
clipOrientation adalah "horizontal", pengeklipan tidak akan terjadi karena drawable mengisi
ruang horizontal (kecuali jika tingkatnya adalah 0, dalam hal ini tidak terlihat).
center
Meletakkan objek pada tengah container-nya, tepat pada sumbu vertikal dan horizontal, tanpa
mengubah ukurannya. Bila clipOrientation adalah "horizontal", pengeklipan tidak akan terjadi di bagian kanan dan kiri. Bila clipOrientation adalah "vertical", pengeklipan tidak akan terjadi di bagian atas dan bawah.
fill
Memperbesar ukuran horizontal dan vertikal objek jika diperlukan sehingga mengisi seluruh
container-nya. Pengeklipan tidak terjadi karena drawable mengisi
ruang horizontal dan vertikal (kecuali jika tingkat drawable-nya adalah 0, dalam hal ini tidak
terlihat).
clip_vertical
Opsi tambahan yang dapat ditetapkan supaya tepian bagian atas dan/atau bawah pada turunan diklip
sesuai dengan batas container-nya. Klip ini berdasarkan gravitasi vertikal: gravitasi atas mengklip
tepi bagian bawah, gravitasi bawah mengklip tepi bagian atas, dan tidak mengklip kedua tepinya.
clip_horizontal
Opsi tambahan yang dapat diatur supaya tepian kanan dan/atau kiri pada turunan diklip
menyesuaikan dengan batas container-nya. Klip berdasarkan gravitasi horizontal: gravitasi kiri mengklip
tepi bagian kanan, gravitasi kanan mengklip tepi bagian kiri, dan tidak mengklip kedua tepinya.
Meningkatkan level ini akan mengurangi jumlah klip dan perlahan-lahan memunculkan gambar. Ini
pada tingkat 7000:
Catatan: Tingkat default-nya adalah 0, yang sepenuhnya diklip sehingga gambar
tidak terlihat. Jika tingkatnya 10.000, gambar tidak diklip dan terlihat seluruhnya.
Wajib. Mendefinisikan drawable skala. Elemen ini harus menjadi elemen root.
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
android:drawable
Resource drawable. Wajib. Rujukan pada resource
drawable.
android:scaleGravity
Kata kunci. Menentukan posisi gravitasi setelah penskalaan.
Harus berupa satu atau beberapa nilai konstanta berikut, yang dipisahkan dengan |:
Nilai
Deskripsi
top
Meletakkan objek pada bagian atas container, tanpa mengubah ukurannya.
bottom
Meletakkan objek pada bagian bawah container, tanpa mengubah ukurannya.
left
Meletakkan objek pada bagian tepi kiri container-nya, tanpa mengubah ukurannya. Ini adalah
defaultnya.
right
Meletakkan objek pada bagian tepi kanan container-nya, tanpa mengubah ukurannya.
center_vertical
Meletakkan objek pada bagian tengah vertikal container-nya, tanpa mengubah ukurannya.
fill_vertical
Memperbesar ukuran vertikal objek jika diperlukan sehingga mengisi seluruh container-nya.
center_horizontal
Meletakkan objek pada bagian tengah horizontal container-nya, tanpa mengubah ukurannya.
fill_horizontal
Memperbesar ukuran horizontal objek jika diperlukan sehingga mengisi seluruh kontainernya.
center
Meletakkan objek pada tengah container-nya, tepat pada sumbu vertikal dan horizontal, tanpa
mengubah ukurannya.
fill
Memperbesar ukuran horizontal dan vertikal objek jika diperlukan sehingga mengisi seluruh
container-nya.
clip_vertical
Opsi tambahan yang dapat ditetapkan supaya tepian bagian atas dan/atau bawah pada turunan diklip
sesuai dengan batas container-nya. Klip ini berdasarkan gravitasi vertikal: gravitasi atas mengklip
tepi bagian bawah, gravitasi bawah mengklip tepi bagian atas, dan tidak mengklip kedua tepinya.
clip_horizontal
Opsi tambahan yang dapat diatur supaya tepian kanan dan/atau kiri pada turunan diklip
menyesuaikan dengan batas container-nya. Klip berdasarkan gravitasi horizontal: gravitasi kiri mengklip
tepi bagian kanan, gravitasi kanan mengklip tepi bagian kiri, dan tidak mengklip kedua tepinya.
android:scaleHeight
Persentase. Ketinggian skala, dinyatakan sebagai persentase dari batas drawable. Format nilai adalah XX%, seperti 100% atau 12,5%.
android:scaleWidth
Persentase. Lebar skala, dinyatakan sebagai persentase dari batas
drawable. Format nilai adalah XX%, seperti 100% atau 12,5%.
Wajib. Drawable bentuk. Elemen ini harus menjadi elemen root.
Atribut:
xmlns:android
String. Wajib. Menentukan namespace XML, yang harus ditetapkan seperti berikut
"http://schemas.android.com/apk/res/android".
android:shape
Kata kunci. Mendefinisikan jenis bentuk. Nilai yang valid adalah:
Nilai
Deskripsi
"rectangle"
Sebuah persegi panjang yang mengisi tampilan yang memuatnya. Ini adalah bentuk defaultnya.
"oval"
Bentuk oval yang sesuai dengan dimensi tampilan yang memuatnya.
"line"
Sebuah garis horizontal yang membentang selebar tampilan yang memuatnya. Bentuk
ini memerlukan elemen untuk mendefinisikan lebar
garis.
"ring"
Bentuk cincin.
Atribut berikut hanya digunakan saat android:shape="ring":
android:innerRadius
Dimensi. Radius untuk
bagian dalam cincin (lubang di tengah), sebagai nilai dimensi atau resource dimensi.
android:innerRadiusRatio
Float. Radius untuk bagian dalam
cincin, dinyatakan sebagai rasio lebar cincin. Misalnya, jika android:innerRadiusRatio="5", radius dalam sama dengan lebar cincin dibagi 5. Nilai
ini diganti oleh android:innerRadius. Nilai default-nya adalah 9.
android:thickness
Dimensi. Ketebalan
cincin, sebagai nilai dimensi atau resource dimensi.
android:thicknessRatio
Float. Ketebalan cincin,
dinyatakan sebagai rasio dari lebar cincin. Misalnya, jika android:thicknessRatio="2", maka
ketebalan cincin sama dengan lebar cincin dibagi 2. Nilai ini diganti oleh android:innerRadius. Nilai default-nya adalah 3.
android:useLevel
Boolean. Benar jika digunakan sebagai
LevelListDrawable. Nilai ini biasanya salah,
atau bentuk Anda mungkin tidak muncul.
Membuat bentuk sudut lengkung. Berlaku hanya bila bentuknya persegi panjang.
Atribut:
android:radius
Dimensi. Radius untuk semua sudut, sebagai nilai dimensi atau resource dimensi. Ini mengganti tiap
sudut dari atribut berikut.
android:topLeftRadius
Dimensi. Radius untuk sudut kiri atas, sebagai nilai dimensi atau resource dimensi.
android:topRightRadius
Dimensi. Radius untuk sudut kanan atas, sebagai nilai dimensi atau resource dimensi.
android:bottomLeftRadius
Dimensi. Radius untuk sudut kiri bawah, sebagai nilai dimensi atau resource dimensi.
android:bottomRightRadius
Dimensi. Radius untuk sudut kanan bawah, sebagai nilai dimensi atau resource dimensi.
Catatan: Awalnya, setiap sudut harus diberikan radius sudut
lebih besar dari 1, atau sudut tidak akan melengkung. Jika Anda ingin sudut tertentu
agar tidak melengkung, solusinya adalah menggunakan android:radius untuk menyetel radius sudut default
lebih dari 1, lalu ganti setiap sudut dengan nilai yang benar-benar
Anda inginkan, dengan memberikan 0 ("0dp") di tempat Anda tidak menginginkan sudut yang melengkung.
Menentukan warna gradien untuk bentuk.
Atribut:
android:angle
Bilangan bulat. Sudut untuk gradien, dalam derajat. 0 dari kiri ke kanan, 90
dari bawah ke atas. Harus kelipatan dari 45. Defaultnya adalah 0.
android:centerX
Float. Posisi X relatif untuk pusat gradien (0 - 1.0).
android:centerY
Float. Posisi Y relatif untuk pusat gradien (0 - 1.0).
android:centerColor
Warna. Warna opsional yang muncul di antara warna awal dan akhir, setelah
nilai heksadesimal atau resource warna.
android:endColor
Warna. Warna akhir, sebagai nilai heksadesimal
atau resource warna.
android:gradientRadius
Float. Radius untuk gradien. Hanya diterapkan bila android:type="radial".
android:startColor
Warna. Warna awal, sebagai nilai heksadesimal
atau resource warna.
android:type
Kata kunci. Jenis pola gradien yang akan diterapkan. Nilai yang valid adalah:
Padding untuk diterapkan pada elemen tampilan yang memuatnya. Padding ini menjadi pad untuk posisi konten
tampilan, bukan bentuk.
Atribut:
android:left
Dimensi. Padding kiri, sebagai nilai dimensi atau resource dimensi.
android:top
Dimensi. Padding atas, sebagai nilai dimensi atau resource dimensi.
android:right
Dimensi. Padding kanan, sebagai nilai dimensi atau resource dimensi.
android:bottom
Dimensi. Padding bawah, sebagai nilai dimensi atau resource dimensi.
Ukuran bentuk.
Atribut:
android:height
Dimensi. Ketinggian bentuk, sebagai nilai dimensi atau resource dimensi.
android:width
Dimensi. Lebar bentuk, sebagai nilai dimensi atau resource dimensi.
Catatan: Secara default, bentuknya diskalakan ke ukuran tampilan
container yang sesuai dengan dimensi yang ditentukan di sini. Bila Anda menggunakan bentuk di ImageView, Anda dapat membatasi penskalaan dengan menyetel android:scaleType ke "center".
Warna solid untuk mengisi bentuk.
Atribut:
android:color
Warna. Warna yang diterapkan ke bentuk, sebagai nilai
heksadesimal atau resource warna.
Garis guratan untuk bentuk.
Atribut:
android:width
Dimensi. Ketebalan garis, sebagai nilai dimensi atau resource dimensi.
android:color
Warna. Warna garis, sebagai
nilai heksadesimal atau resource warna.
android:dashGap
Dimensi. Jarak antara garis putus-putus, sebagai nilai dimensi atau resource dimensi. Hanya berlaku jika android:dashWidth disetel.
android:dashWidth
Dimensi. Ukuran setiap garis putus-putus, sebagai nilai dimensi atau resource dimensi. Hanya berlaku jika android:dashGap disetel.
contoh:
File XML yang disimpan di res/drawable/gradient_box.xml:
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-08-23 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2024-08-23 UTC."],[],[]]