Anda di halaman 1dari 64

User Interface

(part 7)
Sunaryo Winardi, S.Kom., M.TI.

PRODI. TEKNIK INFORMATIKA (S-1)


Pembahasan
• Desain Material
• Warna
• Tipografi
• Layout
• Gerakan & Animasi
• Menyediakan Sumber Daya untuk Layout Adaptif
• Qualifier sumber daya alternatif umum
Desain Material
• Desain Material merupakan filosofi desain visual
yang dibuat Google tahun 2014.
• Tujuan Desain Material adalah memberikan
pengalaman pengguna yang tepat untuk lintas
platform dan ukuran perangkat dalam serangkaian
gaya, layout, gerakan, dan aspek desain aplikasi
lainnya.

• https://material.io
Desain Material
• Contoh: Dalam layout ini,
Floating Action Button disorot
dengan warna ungu. Kenapa?
Warna
• Sistem warna pada Desain Material membantu
Anda menerapkan warna ke UI dengan benar.
• Sistem warna pada Desain Material akan
memberikan anda warna pilihan yang cocok untuk
warna primer dan sekunder untuk mewakili setiap
tampilan UI aplikasi Anda.
• Pemilihan warna ini dirancang agar memastikan
teks dapat dibaca dan membedakan setiap elemen
dan permukaan UI satu sama lain.
Warna
• Dalam Pemilihan warna, terdapat beberapa
komponen utamanya, yaitu
Warna
• Warna primer adalah warna yang paling sering
ditampilkan di layar dan komponen aplikasi Anda,
seperti pada app
• Warna prime Varian, merupakan pilihan warna
primer lainnya yang digunakan untuk membedakan
setiap komponen UI
Warna
• Warna Sekunder adalah warna optional dan
digunakan seminimal mungkin, digunakan untuk
memberikan highlight, seperti pada Floating Action
Button
Warna
• Warna Surface adalah warna yang diberikn untuk
permukaan komponen seperti cardView atau menu
• Warna background adalah warna yang muncul di
belakang view
• Warna Error adalah warna yang digunakan untuk
menampilkan kesalahan, dan Warna kesalahan
dasar adalah #B00020.
Warna
• Penentuan warna ini akan diatur pada thema.xml
anda
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Pertemuan14Anim" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
<item name="android:background"></item>
<item name="colorOnBackground"></item>
<item name="colorSurface"></item>
<item name="colorOnSurface"></item>
<item name="colorError"></item>
<item name="colorOnError"></item>

</style>
</resources>
Warna
• Anda dapat menggunakan
tools ini dalam menetukan
warna didalam aplikasi
dengan memilih warna
primeri aplikasi anda di :
https://material.io/design/
color/the-color-
system.html#tools-for-
picking-colors
Tipografi
• Tipografi atau tata huruf adalah suatu seni dan
teknik memilih dan menata huruf.
• Tipografi terdiri atas:
• Jenis Huruf
• Gaya Font

• Read More :
https://material.io/design/typography/#
Tipografi
• Roboto adalah jenis huruf
Desain Material standar di
Android yang memiliki enam
bobot: Thin, Light, Regular,
Medium, Bold, dan Black.
• Untuk menggunakan salah satu gaya yang telah
didefinisikan ini dalam Tampilan, anda dapat
menggunakan atribut android:textAppearance.
• Atribut ini mendefinisikan penampilan default
teks untuk warna, jenis huruf, ukuran, dan gaya.
Tipografi
• Judul
• Memiliki nilai dalam skala dari rentang 1 sampai 6,
yang digunakan untuk menampilkan teks atau
angka singkat, tetapi penting.
Tipografi
• Sub-Judul
• Terdiri dari 2 nilai, digunakan untuk teks dengan
penekanan sedang dan penulisannya pendek
Tipografi
• Body
• Terdiri dari 2 nilai, dengan ukuran teks kecil
sehingga cocok digunakan untuk penulisan paragraf
Tipografi
• Caption dan overline
• Judul dan overline adalah ukuran font terkecil yang
digunakan untuk memberi anotasi pada citra atau
untuk memperkenalkan judul/topik
Tipografi
• Button
• Digunakan untuk teks dalam berbagai jenis tombol
yang biasanya ditampilkan dalam huruf besar
dengan font sans serif.
Layout
• Desain Material digunakan untuk memastikan konsistensi
tampilan di seluruh platform, lingkungan, dan ukuran layar
dengan menggunakan elemen dan jarak yang seragam.
• Penyusunan Layout akan mengunakan satuan dp dengan
sebagian besar pengukuran sejajar dipetakan dengan petak
8dp x 8dp
Layout
• Dp (dibaca “dips”) adalah piksel yang tidak tergantung
kepadatan dan unit abstrak (piksel) layar.
• Dp serupa dengan sp, namun sp diskalakan untuk ukuran
font pengguna.
• Untung menghitung dp, digunakan rumus:
dp = (lebar piksel * 160) / kepadatan layar
Layout
Layout
Animasi
• Salah satu bentuk dari desain materi adalah
menggunakan animasi dan gerakan lain dalam
aplikasi.
• Animasi dan gerakan digunakan untuk
memperkuat ide interaksi apa yang harus dilakukan
pengguna, seperti menyoroti elemen aplikasi Anda.
• Bila aplikasi anda menyoroti suatu objek kepada
pengguna menggunakan animasi atau gerakan,
pastikan gerakannya tidak memotong
keberlangsungan pengalaman pengguna (pengguna
tidak harus menunggu hingga animasi selesai).
Animasi
• Pastikan animasi tidak terjadi secara acak.
• Ada tiga cara untuk membuat animasi dalam aplikasi Anda:
1. Animasi properti mengubah properti objek dalam periode waktu
yang ditetapkan.
2. Animasi tampilan memperhitungkan titik mulai penggunaan animasi,
titik akhir, rotasi, dan aspek animasi lainnya.
3. Animasi Drawable memungkinkan Anda memuat serangkaian sumber
daya Drawable berturut-turut untuk membuat animasi.

• Read More : https://developer.android.com/guide/topics/graphics/


Animasi properti
• Animasi properti dilakukan dengan mengubah nilai atribut
dari sebuah objek tampilan.
• Misalnya pada button, anda mengubah text pada tombol
pada saat klik dilakukan (setText()), atau mengubah latar
belakang dari tombol (setBackgroundColor()), atau
mengubah kemunculan dari tombol (setVisibility())
Animasi properti
button1.setOnTouchListener { view, motionEvent ->
when(motionEvent.action){
MotionEvent.ACTION_DOWN -> {
button1.setText("Ready")
button1.setTextColor(Color.BLACK)
button1.setBackgroundColor(Color.WHITE)
return@setOnTouchListener true
}
MotionEvent.ACTION_UP -> {
button1.setText("Go")
button1.setTextColor(Color.WHITE)
button1.setBackgroundColor(Color.RED)
return@setOnTouchListener true
}
}
return@setOnTouchListener false
}
Animasi Drawable
• Untuk menggunakan Animasi Drawable, anda dapat menggunakan
sumber data drawable pada folder res/drawable.
• Buat sebuah resource drawable file baru dengan nama
ic_action_animation dan ubah xml akar drawable <sector>
menjadi <animation-list>.
• Pada <animation-list>, anda dapat menambahkan atribut
android:oneshot , jika bernilai true, maka frame akan diulangi,
jika false, maka frame akan berhernti pada saat berada pada frame
terakhir
• <animation-list> akan menyimpan semua frame gambar yang anda buat
pada tag <item>
• Tag <item> memiliki 2 atribut yaitu android:drawable untuk
memasukkan gambar frame dan android:duration untuk
menentukan durasi waktu frame ditampilkan sebelum berpindah ke
frame berikutnya jika ada
Animasi Drawable
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/ic_action_batery1" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery2" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery1" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery2" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery1" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery2" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery1" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery3" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery4" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery5" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery6" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery7" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery8" android:duration="200"/>
<item android:drawable="@drawable/ic_action_batery9" android:duration="200"/>
</animation-list>
Animasi Drawable
• Untuk menampilkan tiap frame, anda dapat menggunakan
metode pada kelas AnimationDrawable dengan method
start()

imageView1.apply {
setBackgroundResource(R.drawable.ic_action_animation)
var MyAnimation: AnimationDrawable =
background as AnimationDrawable
MyAnimation.start()
}
Animasi Tampilan
• Animasi tampilan dilakukan dengan mengubah
letak/bentuk objek tampilan.
• Misalnya dengan menambahkan rotasi, traslasi atau
skala dan ditambah dengan waktu, sehingga
gambar seolah-olah bergerak.
• Animasi tampilan dapat dikerjakan melalui file
sumber daya Anim
Animasi Tampilan
Animasi Tampilan
• Pada contoh, buatlah sebuah file resource dangan nama
bounce dengan Resource type adalah Animation
Animasi Tampilan
• Isikan bounce.xml anda dengan:

<?xml version="1.0" encoding="utf-8"?>


<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:fromXScale="1.0"
android:fromYScale="0.0"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
Animasi Tampilan
• Untuk membentuk animasi yang telah anda buat, cukup
membentuk animasi melalui AnimationUtils dan menentukan
durasi animasi melalui variable duration
• Untuk menjalankan Animasi, anda cukup menerapkan fungsi
startAnimation() pada objek view anda

val bounce = AnimationUtils.loadAnimation(this, R.anim.bounce)


bounce.duration = 500L
myTV1.setOnClickListener {
myTV1.startAnimation(bounce)
}
Menyediakan Sumber Daya untuk Layout
Adaptif

• Layout adaptif merupakan layout yang dapat bekerja


dengan baik pada berbagai orientasi dan ukuran layar,
berbagai perangkat, berbagai lokal dan bahasa, serta
sebagai versi Android.
• Layout Adaptif dilakukan dengan mengeksternalkan
sumber daya, (memisahkan sumber daya dari kode aplikasi)
yaitu selalu mengeksternalkan sumber daya seperti sumber
daya dapat digambar, ikon, layout, dan string.
Menyediakan Sumber Daya untuk Layout
Adaptif
• Ini penting, karena:
1. Anda bisa memelihara sumber daya yang dieksternalkan secara
terpisah dari kode lainnya. Jika sumber daya digunakan di sejumlah
tempat dalam kode dan perlu diubah, Anda hanya perlu mengubahnya
di satu tempat.
2. Anda bisa menyediakan sumber daya alternatif yang mendukung
konfigurasi perangkat tertentu, misalnya bahasa atau ukuran layar. Hal
ini menjadi semakin penting karena semakin banyak perangkatberbasis
Android yang tersedia.
• Oleh karena itu, selalu simpan semua sumber daya Anda dalam folder
res/ dan atur sumber daya berdasarkan tipenya ke dalam folder di /res
Menyediakan Sumber Daya untuk Layout
Adaptif
• Nama Tipe Sumber Daya
1. animator/ ➔ File XML yang mendefinisikan animasi properti.
2. anim/ ➔ File XML yang mendefinisikan animasi tween.
3. color/ ➔ File XML yang mendefinisikan "daftar keadaan" warna. (File
ini berbeda dari file colors.xml dalam folder values/.)
4. drawable/ ➔ File Bitmap (WebP, PNG, 9-patch, JPG, GIF) dan file XML
yang dikompilasi menjadi sumber daya Drawable.
5. mipmap/ ➔ File sumber daya Drawable untuk beragam kepadatan
ikon peluncur.
6. layout/ ➔ File XML yang mendefinisikan layout antarmuka pengguna.
7. menu/ ➔ File XML yang mendefinisikan menu aplikasi.
Menyediakan Sumber Daya untuk Layout
Adaptif
8. raw/ ➔ File yang disimpan dalam bentuk mentah dan isinya dapat
berubah-ubah. Sumber daya ini dibukan dengan InputStream, dari
metode Resources.openRawResource() bersama ID sumber daya,
yaitu R.raw.filename . Jika Anda memerlukan akses ke nama file dari
hierarki file asli, pertimbangkan untuk menyimpan sumber daya
dalam folder assets/ sebagai ganti res/raw/. File dalam assets/ tidak
diberi ID, sehingga Anda dapat membacanya hanya dengan
menggunakan AssetManager.
9. values/ ➔ File XML yang berisi nilai-nilai sederhana, seperti
arrays.xml untuk larik sumber daya (larik bertipe), dimens.xml untuk
nilai dimensi, strings.xml, colors.xml, dan styles.xml
10. xml/ ➔ File XML yang bisa dibaca pada waktu proses dengan
memanggil Resources.getXml(). Berbagai file konfigurasi XML, harus
disimpan di sini, bersama setelan preferensi. mencantumkan nama
folder sumber daya standar.
Menyediakan Sumber Daya untuk Layout
Adaptif
11. font/ ➔ File Font dengan ekstensi .ttf, .otf, .ttc, atau file XML yang
menggunakan tag <font-family> untuk mengatur gaya dan tampilan
dalam teks

Read more :
https://developer.android.com/guide/topics/resources/providing-
resources
Menyediakan Sumber Daya untuk Layout
Adaptif
• Sebagian besar aplikasi menyediakan sumber daya
alternatif untuk mendukung konfigurasi perangkat tertentu.
• Misalnya, aplikasi Anda harus menyertakan sumber daya
drawable alternatif untuk API yang berbeda, atau sumber
daya string alternatif untuk bahasa yang berbeda.
• Pada waktu proses, Android akan mendeteksi konfigurasi
perangkat saat ini dan memuat sumber daya yang sesuai
untuk aplikasi Anda.
• Jika tidak ada sumber daya alternative yang tersedia untuk
konfigurasi untuk perangkat tertentu, Android akan
menggunakan sumber daya default yang Anda sertakan
dalam aplikasi
Menyediakan Sumber Daya untuk Layout
Adaptif
• Seperti sumber daya default, sumber daya alternatif
disimpan dalam folder dalam res/. Folder sumber daya
alternative menggunakan konvensi penamaan berikut:
• <resource_name>-<config_qualifier>
• <resource_name> adalah nama folder untuk tipe sumber
daya, seperti "drawable" atau "values".
• <config_qualifier> adalah menetapkan konfigurasi
perangkat yang menggunakan sumber daya.

• Read more :
• https://developer.android.com/guide/topics/resources/prov
iding-resources
Menyediakan Sumber Daya untuk Layout
Adaptif
• Contoh dengan satu qualifier:
• Sumber daya string yang dilokalkan ke bahasa Jepang akan
ada dalam file res/values-ja/strings.xml.
• Sumber daya string default (sumber daya yang akan
digunakan bila sumber daya khusus bahasa tidak
ditemukan) akan ada dalam res/values/strings.xml .
• Perhatikan, file XML harus memiliki nama identik, dalam hal
ini "strings.xml".
Menyediakan Sumber Daya untuk Layout
Adaptif
Menyediakan Sumber Daya untuk Layout
Adaptif
Menyediakan Sumber Daya untuk Layout
Adaptif
• Contoh dengan beberapa qualifier:
• Sumber daya style yang dilokalkan untuk orientasi landscape
dan kerapatan layar tinggi akan disimpan pada file
res/values-land-hdpi/styles.xml.
• Perhatikan, file XML harus memiliki nama identik, dalam hal
ini “styles.xml".
Menyediakan Sumber Daya untuk Layout
Adaptif
Menyediakan Sumber Daya untuk Layout
Adaptif
Menyediakan Sumber Daya untuk Layout
Adaptif
Menyediakan Sumber Daya untuk Layout
Adaptif
Prioritas Qualifier
1. MCC dan MNC ➔ Kode negara seluler (MCC), secara opsional diikuti
oleh kode jaringan seluler (MNC) dari kartu SIM dalam perangkat.
Misalnya, mcc310 adalah A.S. untuk operator mana saja, mcc310-
mnc004 adalah A.S. untuk Verizon
2. Pelokalan Bahasa, atau bahasa dan region ➔ Contoh: en , en-rUS ,
fr-rFR , fr-rCA .
3. Arah layout ➔ Arah layout aplikasi Anda. Nilai-nilai yang
memungkinkan antara lain ldltr (arah layout kiri ke kanan, yang
merupakan default) dan ldrtl (arah layout kanan ke kiri). (target sdk
min 17)
4. Lebar terkecil ➔ Ukuran layar dasar sebagaimana ditunjukkan oleh
dimensi terkecil dari area layar yang tersedia. Contoh: sw320dp .
5. Lebar yang tersedia ➔ Lebar layar minimum yang tersedia
digunakan. Ditetapkan dalam unit dp. Formatnya adalah wdp ,
misalnya, w720dp dan w1024dp .
Menyediakan Sumber Daya untuk Layout
Adaptif
6. Tinggi yang tersedia → Tinggi layar minimum yang tersedia
digunakan. Ditetapkan dalam unit dp. Formatnya adalah hdp ,
misalnya, h720dp dan h1024dp .
7. Ukuran layar ➔ Nilai-nilai yang memungkinkan:
• small: Layar seperti layar berkepadatan rendah QVGA
• normal: Layar seperti kepadatan medium HVGA
• large: Layar seperti kepadatan medium VGA
• xlarge: Layar seperti pada perangkat bergaya tablet
8. Aspek layar ➔Nilai-nilai yang memungkinkan antara lain long (untuk
layar seperti WQVGA, WVGA, FWVGA) dan notlong (untuk layar
seperti QVGA, HVGA, dan VGA).
9. Orientasi layar ➔ Nilai-nilai yang memungkinkan: port, land.
Menyediakan Sumber Daya untuk Layout
Adaptif
10. Mode UI ➔ Nilai-nilai yang memungkinkan
• car: Perangkat untuk dok mobil
• desk: Perangkat untuk dok meja
• television: Perangkat pada layar besar yang jauh dari pengguna, terutama
diorientasikan di sekitar D-pad atau interaksi non-pointer lainnya
• appliance: Perangkat berfungsi sebagai alat, tanpa tampilan
• watch: Perangkat memiliki tampilan untuk pergelangan tangan
11. Mode malam ➔Nilai-nilai yang memungkinkan:
• night
• Notnight
12. Tipe layar sentuh ➔ Nilai-nilai yang memungkinkan
• notouch (perangkat tidak memiliki layar
• finger (perangkat memiliki layar sentuh).
Menyediakan Sumber Daya untuk Layout
Adaptif
13. Kepadatan piksel layar ➔ Nilai-nilai yang memungkinkan:
• ldpi: Layar berkepadatan rendah; sekitar 120 dpi.
• mdpi: Layar berkepadatan medium (pada HVGA tradisional); sekitar 160 dpi.
• hdpi: Layar berkepadatan tinggi; sekitar 240 dpi.
• xhdpi: Sekitar 320 dpi. Ditambahkan dalam API level 8.
• xxhdpi: Sekitar 480 dpi. Ditambahkan dalam API level 16.
• xxxhdpi: Untuk Ikon peluncur saja; sekitar 640 dpi. Ditambahkan dalam API level 18.
• nodpi: Untuk sumber daya bitmap yang tidak ingin Anda skalakan agar cocok dengan
kepadatan perangkat.
• tvdpi: Layar antara mdpi dan hdpi; sekitar 213 dpi. Dimaksudkan untuk televisi, dan
sebagian besar aplikasi tidak memerlukannya. Ditambahkan dalam API level 13.
• anydpi: Cocok dengan semua kepadatan layar dan diprioritaskan di atas qualifier
lainnya. Berguna bagi sumber daya dapat digambar vektor. Ditambahkan dalam API
level 21.
Catatan: Menggunakan qualifier kepadatan tidak berarti sumber daya
hanya untuk layar dengan kepadatan itu saja. Jika Anda tidak menyediakan
sumber daya alternatif dengan qualifier yang lebih cocok dengan
konfigurasi perangkat saat ini, sistem mungkin akan menggunakan sumber
daya mana saja yang paling cocok.
Menyediakan Sumber Daya untuk Layout
Adaptif
14. Ketersediaan keyboard ➔ Nilai-nilai yang memungkinkan:
• keysexposed: Perangkat menyediakan keyboard.
• keyshidden: Perangkat memiliki keyboard fisik yang tersedia namun tersembunyi,
dan perangkat tidak mengaktifkan keyboard perangkat lunak.
• keyssoft: Perangkat mengaktifkan keyboard perangkat lunak, baik itu terlihat atau
tidak.
15. Metode masukan teks utama ➔Nilai-nilai yang memungkinkan:
• nokeys: Perangkat tidak memiliki tombol fisik untuk masukan teks.
• qwerty: Perangkat memiliki keyboard fisik qwerty, baik terlihat atau tidak kepada
pengguna.
• 12key: Perangkat memiliki keyboard fisik 12 tombol, baik terlihat atau tidak kepada
pengguna.
16. Ketersediaan tombol navigasi ➔ Nilai-nilai yang memungkinkan
antara lain navexposed (tombol navigasi tersedia untuk pengguna)
dan navhidden (tombol navigasi tidak tersedia untuk pengguna)
Menyediakan Sumber Daya untuk Layout
Adaptif
17. Metode navigasi non-sentuh utama ➔ Nilai-nilai yang
memungkinkan antara lain :
• nonav: Perangkat tidak memiliki fasilitas navigasi selain layar sentuh.
• dpad: Perangkat memiliki pad pengarah (D-pad).
• trackball: Perangkat memiliki trackball.
• wheel: Perangkat memiliki roda pengarah untuk navigasi (tidak umum).
18. Versi platform (API level) ➔Level API yang didukung oleh perangkat.
Contoh gunakan v11 untuk API level 11
Qualifier sumber daya alternatif
umum
• Untuk menyediakan kompatibilitas perangkat
terbaik, sediakan sumber daya default untuk setiap
sumber daya yang diperlukan aplikasi Anda.
• Setelah sumber daya default Anda berada di
tempatnya, buat sumber daya alternatif untuk
konfigurasi perangkat khusus dengan menggunakan
qualifier konfigurasi perangkat khusus
Qualifier sumber daya alternatif umum
Orientasi layar
• Qualifier umum yang digunakan adalah orientasi layar yang memiliki
dua nilai yang memungkinkan:
1. port : Perangkat dalam mode potret (vertikal). Misalnya, res/layout-
port/ akan berisi file layout untuk digunakan saat perangkat dalam
mode potret.
2. land : Perangkat dalam mode lanskap (horizontal). Misalnya,
res/layout-land/ akan berisi file layout untuk digunakan saat
perangkat dalam mode lanskap.
• Jika pengguna memutar layar saat aplikasi berjalan, dan sumber daya
alternatif tersedia, Android akan secara otomatis memuat ulang aplikasi
Anda dengan sumber daya alternatif yang cocok dengan konfigurasi
perangkat baru.
Qualifier sumber daya alternatif umum
Qualifier lebar terkecil
• Qualifier lebar terkecil menetapkan lebar minimum perangkat (tinggi
dan lebar layar) yang tersedia untuk layar.
• Lebar terkecil adalah karakteristik perangkat yang memiliki ukuran layar
tetap, dan tidak berubah saat orientasi layar bearubah.
• Tetapkan lebar terkecil dalam unit dp, menggunakan format berikut ini:
sw<N>dp
• dalam hal ini: <N> adalah lebar minimum.
• Misalnya, sumber daya dalam suatu file bernama res/valuessw320dp/
styles.xml digunakan jika lebar layar perangkat selalu setidaknya 320 dp.
Qualifier sumber daya alternatif umum
• Beberapa nilai untuk ukuran layar umum:
• 320, untuk perangkat dengan konfigurasi layar seperti 240x320 ldpi (handset QVGA)
• 320x480 mdpi (handset)
• 480x800 hdpi (handset kepadatan tinggi)
• 480, untuk layar seperti 480x800 mdpi (tablet/handset).
• 600, untuk layar seperti 600x1024 mdpi (tablet 7").
• 720, untuk layar seperti 720x1280 mdpi (tablet 10").

• Bila aplikasi Anda menyediakan beberapa folder sumber daya dengan


nilai berbeda untuk qualifier lebar terkecil, sistem akan menggunakan
nilai terdekat dengan (tanpa melebihi) lebar terkecil perangkat.
Contoh:
• res/values-sw600dp/dimens.xml berisi dimensi untuk gambar. Bila
aplikasi berjalan pada perangkat dengan lebar terkecil 600 dp atau yang
lebih tinggi (seperti tablet), Android akan menggunakan gambar dalam
folder ini.
Qualifier sumber daya alternatif umum
Versi platform
• Qualifier versi platform menetapkan API level minimum
yang didukung oleh perangkat.
• Qualifier versi platform digunakan apabila anda
menggunakan sumber daya untuk fungsionalitas yang tidak
tersedia dalam versi Android sebelumnya.
• Misalnya, gambar WebP memerlukan API level 14 (Android
4.0) atau yang lebih tinggi, dan untuk dukungan penuh
diperlukan API level 17 (Android 4.2) atau yang lebih tinggi.
Qualifier sumber daya alternatif umum
Versi platform
• Jika Anda menggunakan gambar WebP:
1. Letakkan versi default gambar dalam folder res/drawable .
Gambar ini harus menggunakan format gambar yang
didukung untuk semua API level, misalnya PNG.
2. Letakkan versi gambar WebP dalam folder res/drawable-
v17 . Jika perangkat menggunakan API Level 17 atau yang
lebih tinggi, Android akan memilih sumber daya ini pada
waktu proses.
Qualifier sumber daya alternatif umum
• Qualifier pelokalan
• Qualifier pelokalan menetapkan bahasa, dan region yang bersifat
opsional. Qualifier ini terdiri dari dua huruf kode bahasa ISO 639-1, dan
diikuti oleh dua huruf kode region ISO 3166-1-alpha-2 (diawali oleh
huruf kecil r ).
• Anda bisa menetapkan bahasa saja, namun tidak boleh region saja.
• Contoh:
• res/values-fr-rFR/strings.xml
• String dalam file ini digunakan pada perangkat yang dikonfigurasi untuk
bahasa Prancis dan regionnya juga disetel ke France.
• res/mipmap-fr-rCA/
• Ikon dalam folder ini digunakan pada perangkat yang dikonfigurasi untuk
bahasa Prancis dan regionnya disetel ke Canada.
• res/layout-ja/content_main.xml

Anda mungkin juga menyukai