Komponen dan atribut Preference Bagian dari Android Jetpack.

Topik ini menjelaskan beberapa komponen dan atribut Preference yang paling sering digunakan saat mem-build layar setelan.

Komponen Preference

Bagian ini menjelaskan komponen Preference umum. Untuk informasi selengkapnya, lihat halaman referensi terkait untuk setiap komponen.

Infrastruktur Preference

PreferenceFragmentCompat - Fragment yang menangani penayangan hierarki interaktif objek Preference.

Penampung Preference

PreferenceScreen - penampung level teratas yang merepresentasikan layar setelan. Ini adalah komponen root hierarki Preference.

PreferenceCategory - penampung yang digunakan untuk mengelompokkan Preferences serupa. PreferenceCategory menampilkan judul kategori dan memisah grup Preferences secara visual.

Preference Individual

Preference - elemen penyusun dasar yang merepresentasikan masing-masing setelan. Jika ditetapkan untuk tetap ada, Preference akan memiliki pasangan nilai kunci terkait yang menampung pilihan pengguna untuk setelan yang dapat diakses dari mana pun dalam aplikasi.

EditTextPreference - Preference yang mempertahankan nilai String. Pengguna dapat mengetuk Preference untuk meluncurkan dialog berisi kolom teks yang memungkinkan mereka mengubah nilai yang dipertahankan.

ListPreference - Preference yang mempertahankan nilai String. Pengguna dapat mengubah nilai ini dalam dialog yang berisi daftar tombol pilihan dengan label terkait.

MultiSelectListPreference - Preference yang mempertahankan sekumpulan String. Pengguna dapat mengubah nilai ini dalam dialog yang berisi daftar kotak centang dengan label terkait.

SeekBarPreference - Preference yang mempertahankan nilai bilangan bulat. Nilai ini dapat diubah dengan menarik kontrol pencari terkait yang ditampilkan dalam tata letak Preference.

SwitchPreferenceCompat - Preference yang mempertahankan nilai boolean. Nilai ini dapat diubah melalui interaksi dengan widget tombol terkait atau dengan mengetuk tata letak Preference

CheckBoxPreference - Preference yang mempertahankan nilai boolean. Nilai ini dapat diubah melalui interaksi dengan kotak centang terkait atau dengan mengetuk tata letak Preference.

Atribut Preference

Di bawah ini adalah beberapa atribut yang paling sering digunakan yang mengonfigurasi tampilan dan perilaku Preference.

Atribut generik

title

Nilai String yang merepresentasikan judul Preference.

Contoh: app:title="Title"

summary

Nilai String yang merepresentasikan ringkasan Preference.

Contoh: app:summary="Summary"

icon

Drawable yang merepresentasikan ikon Preference.

Contoh: app:icon="@drawable/ic_camera"

key

String nilai yang merepresentasikan kunci yang digunakan untuk mempertahankan nilai untuk Preference terkait. Dengan kunci, Anda dapat menyesuaikan Preference lebih lanjut selama waktu proses. Anda harus menetapkan kunci untuk setiap Preference dalam hierarki.

Contoh: app:key="key"

enabled

Nilai boolean yang menunjukkan apakah pengguna dapat berinteraksi dengan Preference. Jika nilai ini false, maka Preference akan berwarna abu-abu dan pengguna tidak dapat berinteraksi dengannya. Nilai defaultnya adalah true.

Contoh: app:enabled="false"

selectable

Nilai boolean yang menunjukkan apakah pengguna dapat berinteraksi dengan Preference. Nilai defaultnya adalah true.

Contoh: app:selectable="false"

isPreferenceVisible

Nilai boolean yang menunjukkan apakah kategori Preference atau Preference terlihat. Ini sama dengan memanggil setVisible().

Contoh: app:isPreferenceVisible="false"

defaultValue

Merepresentasikan nilai default untuk Preference. Nilai ini ditetapkan dan dipertahankan jika tidak ditemukan nilai lainnya yang dipertahankan untuk Preference ini. Jenis nilai ini bergantung pada Preference terkait.

Contoh: app:defaultValue="true"

dependency

Merepresentasikan kunci SwitchPreferenceCompat yang mengontrol status Preference ini. Jika tombol yang terkait dinonaktifkan, Preference ini akan dinonaktifkan dan tidak dapat diubah.

Contoh: app:dependency="parent"

Atribut PreferenceCategory

initialExpandedChildrenCount

Nilai bilangan bulat yang mengaktifkan perilaku Preference yang dapat diperluas. Nilai ini merepresentasikan jumlah maksimum turunan yang dapat ditampilkan di PreferenceGroup. Setiap turunan tambahan diciutkan dan dapat ditampilkan dengan mengetuk tombol luaskan. Secara default, nilai ini adalah Integer.MAX_VALUE, dan semua turunan ditampilkan.

Peringatan: Pastikan Anda menetapkan kunci di PreferenceCategory jika menggunakan atribut ini agar status disimpan dan dipulihkan dengan benar bila konfigurasi berubah (seperti saat memutar layar).

Contoh: app:initialExpandedChildrenCount="0"

Atribut ListPreference/MultiSelectListPreference

entries

Array String terkait entri daftar yang akan ditampilkan kepada pengguna. Setiap nilai ini terkait melalui indeks dengan array nilai yang dipertahankan secara internal. Misalnya, bila pengguna memilih entri daftar pertama, elemen pertama dalam array nilai terkait akan dipertahankan.

Contoh: app:entries="@array/entries"

Peringatan: Pastikan kedua array memiliki panjang yang sama, dan indeks setiap array cocok dengan pasangan entri/nilai yang benar.

entryValues

Array entri yang akan dipertahankan. Setiap nilai ini terkait melalui indeks dengan array entri daftar yang ditampilkan kepada pengguna.

Contoh: app:entryValues="@array/values"