Komponen dan atribut preferensi   Part of Android Jetpack.

Topik ini menjelaskan beberapa komponen Preference yang paling umum digunakan dan atribut-atribut yang digunakan ketika membangun layar pengaturan.

Komponen preferensi

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

Infrastruktur preferensi

PreferenceFragmentCompat - Fragment yang menangani tampilan hierarki interaktif objek Preference.

Container preferensi

PreferenceScreen - container level atas yang merepresentasikan layar pengaturan. Ini adalah komponen akar dari hierarki Preference Anda.

PreferenceCategory - yang digunakan untuk mengelompokkan Preferences yang serupa. PreferenceCategory Menampilkan judul kategori dan secara visual memisahkan kelompok Preferences.

Preferensi Individual

Preference - blok bangunan dasar yang merepresentasikan setelan individual. Jika Preference disetel untuk bertahan, maka akan memiliki pasangan nilai kunci yang sesuai yang mempertahankan pilihan pengguna untuk setelan yang dapat diakses di tempat lain dalam aplikasi.

EditTextPreference - Preference yang mempertahankan nilai String. Pengguna dapat mengetuk Preference untuk meluncurkan dialog yang berisi bidang teks yang memungkinkan pengguna untuk mengubah nilai yang sudah ada .

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

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

SeekBarPreference - Preference yang mempertahankan nilai integer. Nilai ini dapat diubah dengan menyeret seekbar terkait yang ditampilkan dalam layout Preference.

SwitchPreferenceCompat - Preference yang mempertahankan nilai boolean. Nilai ini dapat diubah dengan berinteraksi dengan widget switch terkait atau dengan mengetuk layout Preference.

CheckBoxPreference - Preference yang mempertahankan nilai boolean. Nilai ini dapat diubah dengan berinteraksi dengan kotak centang yang terkait atau dengan mengetuk layout Preference.

Atribut preferensi

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

Atribut umum

title

Nilai String yang merepresentasikan judul Preference.

Contoh: app:title="Title"

summary

Nilai String yang merepresentasikan rangkuman Preference .

Contoh: app:summary="Summary"

icon

Drawable Yang merepresentasikan ikon Preference ikon.

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

key

Nilai String yang merepresentasikan kunci yang digunakan untuk mempertahankan nilai untuk Preference terkait. Kunci yang memungkinkan Anda untuk menyesuaikan Preference lebih lanjut selama runtime. Anda harus menetapkan kunci untuk setiap Preference dalam hierarki Anda.

Contoh: app:key="key"

enabled

Nilai boolean yang menunjukkan apakah pengguna dapat berinteraksi dengan Preference atau tidak. Ketika nilai ini false, Preference ditampilkan 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 atau tidak. Nilai defaultnya adalah true.

Contoh: app:selectable="false"

isPreferenceVisible

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

Contoh: app:isPreferenceVisible="false"

defaultValue

Merepresentasikan nilai default untuk Preference. Nilai ini disetel dan dipertahankan ketika tidak ada nilai lainnya yang dipertahankan untuk Preference ini ditemukan. Jenis nilainya tergantung Preference yang terkait.

Contoh: app:defaultValue="true"

dependency

Merepresentasikan kunci SwitchPreferenceCompat yang mengontrol status Preference ini. Ketika switch terkait dinonaktifkan, Preference ini dinonaktifkan dan tidak dapat dimodifikasi.

Contoh: app:dependency="parent"

Atribut PreferenceCategory

initialExpandedChildrenCount

Nilai integer yang memungkinkan perilaku Preference yang dapat diperluas. Nilai ini mewakili jumlah maksimum turunan yang ditampilkan dalam PreferenceGroup. Setiap turunan tambahan diciutkan dan dapat ditampilkan dengan mengetuk tombol perluas. Secara default, nilai ini adalah Integer.MAX_VALUE, dan semua turunan ditampilkan.

Peringatan: Pastikan Anda telah menyetel kunci pada PreferenceCategory jika menggunakan atribut ini, sehingga statusnya disimpan dan dipulihkan dengan benar ketika konfigurasi berubah (misalnya saat memutar layar).

Contoh: app:initialExpandedChildrenCount="0"

Atribut ListPreference / MultiSelectListPreference

entries

Array String yang berkaitan dengan entri daftar ini akan ditampilkan kepada pengguna. Masing-masing nilai ini berkaitan berdasarkan indeks ke array nilai yang secara internal dipertahankan. Misalnya, ketika pengguna memilih entri pertama, elemen pertama dalam array nilai yang terkait akan tetap ada.

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

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

entryValues

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

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