Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Modelli e componenti

In Android 8.0, il menu Impostazioni ottiene diversi componenti e widget che coprono usi comuni. I produttori di dispositivi e gli sviluppatori sono incoraggiati a utilizzare i componenti comuni quando estendono l'app Impostazioni in modo che le nuove interfacce utente rimangano coerenti con l'interfaccia utente delle impostazioni esistente.

Ecco un riepilogo dei miglioramenti:

  • Modifica del comportamento del divisore nel framework delle preferenze della libreria di supporto. Il divisore viene ora tracciato tra le categorie.
  • Modifica del tema di ActionBar. La ActionBar ora utilizza un tema a colori chiari, con testo in colori accesi.
  • Nuovo layout delle preferenze. Lo spazio per le icone rimane anche quando una preferenza non ha un'icona.

Nuovi widget:

  • Un widget di intestazione per i dettagli dell'applicazione. Visualizza l'icona dell'app, l'etichetta dell'app e altre informazioni.
  • Un pulsante di espansione in alcune pagine. La pagina può iniziare come compressa e nascondere gli elementi meno importanti finché l'utente non fa clic sul pulsante di espansione.
  • Interfaccia utente del selettore di app predefinita:
    • L'interfaccia utente per la scelta del browser predefinito, dell'app del telefono predefinita, ecc.
    • Precedentemente una finestra di dialogo, ora è un'interfaccia utente basata su pulsanti di opzione a schermo intero.
  • Una preferenza di stile "MasterSwitch". Questa è una preferenza con due target di clic. L'obiettivo sinistro porta a un frammento o intento di sottoinsieme. Il target destro è un interruttore che controlla l'attivazione / disattivazione dell'intera pagina.

Esempi e fonte

  • Comportamento divisore
    • Tutte le pagine in Impostazioni vengono modificate per utilizzare il nuovo comportamento del divisore.
    • Il comportamento del divisore è definito come ThemeOverlay in:
      packages/apps/Settings/res/values/styles_preference.xml
  • Modifica del tema di ActionBar
    • Tutte le pagine in Impostazioni vengono modificate per utilizzare il nuovo tema ActionBar.
    • Il tema è definito in Theme.DeviceDefault.Settings
  • Nuovo layout delle preferenze
    • Molte pagine in Impostazioni ora utilizzano il nuovo layout delle preferenze.
    • Puoi trovare il codice in:
      packages/apps/Settings/res/values/styles_preference.xml
  • Widget dell'intestazione dell'app
    • La maggior parte delle pagine di informazioni sull'applicazione in Impostazioni sta già implementando la nuova intestazione dell'app.
    • Esempi e codice possono essere trovati su:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • Pulsante Espandi
    • Esempi e codice possono essere trovati su:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

      Nota: questo componente deve essere utilizzato insieme a DashboardFragment. (Vedi maggiori dettagli su DashboardFragment nell'Architettura delle informazioni aggiornate .)

  • Selettore di app predefinito
    • Puoi trovare il codice per la classe base in:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • Esistono diverse sottoclassi di DefaultAppPickerFragment, ognuna delle quali implementa un selettore per intenti diversi.
  • Preferenza di stile MasterSwitch
    • Il codice si trova in: packages/apps/Settings/src/com/android/settings/widget/MasterSwitchPreference.java
    • Un caso d'uso di esempio è l'interruttore principale Wi-Fi. Puoi trovare un esempio su: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

Implementazione

I produttori di dispositivi possono iniziare a utilizzare tutti i nuovi componenti fuori dalla scatola. Se gli OEM decidono di implementare una nuova preferenza di stile "MasterSwitch" o un selettore di app predefinito, dovrebbero seguire gli esempi in questo documento e i file di riferimento (Javadoc) scritti con ogni componente per maggiori dettagli.

Personalizzazione

  • Comportamento divisore. Per modificare il modo in cui viene disegnato il divisore, aggiorna lo stile per Impostazioni divisori e modifica il valore per quanto segue:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • Colore tema ActionBar. Le attività dovrebbero usare Theme.DeviceDefault.Settings come tema o creare un tema personalizzato utilizzando Theme.DeviceDefault.Settings come genitore.
  • Widget dell'intestazione dell'app. Usa i setter in AppHeaderController per personalizzare ogni campo e chiama build () una volta impostati tutti i campi.
  • Pulsante Espandi:
    • Per disabilitare completamente la funzionalità, sovrascrivi il costruttore per ProgressiveDisclosureMixin e imposta keepExpanded su true.
    • Per personalizzare il numero di elementi da visualizzare inizialmente, chiamare il metodo ProgressiveDisclosureMixin.setTileLimit() durante il metodo onAttach(Context) di onAttach(Context) .