Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Pola dan Komponen

Di Android 8.0, menu Pengaturan mendapatkan beberapa komponen dan widget yang mencakup penggunaan umum. Produsen dan pengembang perangkat didorong untuk menggunakan komponen umum saat memperluas aplikasi Pengaturan sehingga antarmuka pengguna baru tetap konsisten dengan UI Pengaturan yang ada.

Berikut ringkasan perbaikannya:

  • Perubahan perilaku pemisah dalam kerangka kerja Preferensi pustaka dukungan. Pembagi sekarang ditarik di antara kategori.
  • Perubahan tema ActionBar. ActionBar sekarang menggunakan tema warna terang, dengan teks warna aksen.
  • Tata letak preferensi baru. Ruang untuk ikon tetap ada meskipun preferensi tidak memiliki ikon.

Widget baru:

  • Widget tajuk untuk detail aplikasi. Menampilkan ikon aplikasi, label aplikasi dan informasi lainnya.
  • Tombol luaskan di beberapa halaman. Halaman dapat dimulai sebagai diciutkan dan menyembunyikan item yang kurang penting sampai pengguna mengklik tombol perluas.
  • UI pemilih aplikasi default:
    • UI untuk memilih browser default, aplikasi telepon default, dll.
    • Dulunya sebuah dialog, sekarang menjadi UI berbasis tombol radio layar penuh.
  • Preferensi gaya "MasterSwitch". Ini adalah preferensi dengan dua target klik. Target kiri mengarah ke subset fragmen atau maksud. Target yang tepat adalah sakelar sakelar, yang mengontrol hidup / mati untuk seluruh halaman.

Contoh dan sumber

  • Perilaku pembatas
    • Semua halaman di Pengaturan dimodifikasi untuk menggunakan perilaku pemisah baru.
    • Perilaku pembagi didefinisikan sebagai ThemeOverlay di:
      packages/apps/Settings/res/values/styles_preference.xml
  • Perubahan tema ActionBar
    • Semua halaman di Pengaturan dimodifikasi untuk menggunakan tema ActionBar baru.
    • Tema ditentukan dalam Theme.DeviceDefault.Settings
  • Tata letak preferensi baru
    • Banyak halaman di Pengaturan sekarang menggunakan tata letak preferensi baru.
    • Anda dapat menemukan kode tersebut di:
      packages/apps/Settings/res/values/styles_preference.xml
  • Widget header aplikasi
    • Sebagian besar halaman informasi aplikasi di Pengaturan sudah menerapkan header Aplikasi baru.
    • Contoh dan kode dapat ditemukan di:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • Tombol luaskan
    • Contoh dan kode dapat ditemukan di:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

      Catatan: Komponen ini harus digunakan bersama dengan DashboardFragment. (Lihat detail selengkapnya tentang DashboardFragment di Arsitektur Informasi yang Diperbarui .)

  • Alat pilih aplikasi default
    • Anda dapat menemukan kode untuk kelas dasar di:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • Ada beberapa subclass DefaultAppPickerFragment, masing-masing mengimplementasikan picker untuk maksud yang berbeda.
  • Preferensi gaya MasterSwitch
    • Kode ada di: packages/apps/Settings/src/com/android/settings/widget/MasterSwitchPreference.java
    • Contoh kasus penggunaan adalah sakelar master Wi-Fi. Anda dapat menemukan contohnya di: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

Penerapan

Produsen perangkat dapat mulai menggunakan semua komponen baru di luar kotak. Jika OEM memutuskan untuk mengimplementasikan preferensi gaya "MasterSwitch" baru atau pemilih aplikasi default, mereka harus mengikuti contoh dalam dokumen ini dan file referensi (Javadoc) yang ditulis dengan setiap komponen untuk detail selengkapnya.

Menyesuaikan

  • Perilaku pembatas. Untuk mengubah bagaimana pembagi digambar, perbarui gaya untuk Pengaturan pembagi dan ubah nilai berikut ini:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • Warna tema ActionBar. Aktivitas harus menggunakan Theme.DeviceDefault.Settings sebagai temanya, atau membuat tema khusus menggunakan Theme.DeviceDefault.Settings sebagai induk.
  • Widget header aplikasi. Gunakan setter di AppHeaderController untuk menyesuaikan setiap bidang dan panggil build () setelah semua bidang disetel.
  • Tombol luaskan:
    • Untuk menonaktifkan fungsionalitas sepenuhnya, ganti konstruktor untuk ProgressiveDisclosureMixin dan setel keepExpanded ke true.
    • Untuk menyesuaikan berapa banyak item yang akan ditampilkan pada awalnya, panggil metode ProgressiveDisclosureMixin.setTileLimit() selama metode onAttach(Context) fragmen.