Sous Android 8.0, le menu Paramètres contient plusieurs composants et widgets qui couvrent les utilisations courantes. Les fabricants et développeurs d'appareils sont encouragés à utiliser le des composants courants lors de l'extension de l'application Paramètres pour que les nouvelles interfaces utilisateur cohérente avec l'interface utilisateur des paramètres existante.
Voici un récapitulatif des améliorations apportées:
- Modification du comportement du séparateur dans le framework de préférences de la bibliothèque Support. Le séparateur est entre les catégories.
- Modification du thème de la barre d'action. La barre d'action utilise désormais un thème de couleurs claires, avec du texte avec une couleur d'accentuation.
- Nouvelle disposition des préférences. L'espace réservé aux icônes reste inchangé même si une préférence n'a pas d'icône.
Nouveaux widgets:
- Widget d'en-tête pour les détails de l'application. Affiche l'icône et le libellé de l'application d'autres informations.
- Un bouton d'expansion sur certaines pages La page peut commencer comme réduite et moins masquer les éléments importants jusqu'à ce que l'utilisateur clique sur le bouton d'expansion.
- Interface utilisateur du sélecteur d'applications par défaut:
<ph type="x-smartling-placeholder">
- </ph>
- UI permettant de choisir le navigateur par défaut, l'application de téléphone par défaut, etc.
- Cette interface utilisateur, qui était autrefois une boîte de dialogue, est désormais basée sur des cases d'option en plein écran.
- "MasterSwitch" la préférence de style. Il s'agit d'une préférence avec deux clics cibles. La cible de gauche mène à un fragment ou un intent de sous-paramètre. La bonne cible est bouton bascule permettant de l'activer ou de le désactiver pour toute la page.
Exemples et source
- Comportement du séparateur
<ph type="x-smartling-placeholder">
- </ph>
- Toutes les pages des paramètres ont été modifiées pour utiliser le nouveau comportement du séparateur.
- Le comportement du séparateur est défini comme un ThemeOverlay dans:
packages/apps/Settings/res/values/styles_preference.xml
- Modification du thème de la barre d'action
<ph type="x-smartling-placeholder">
- </ph>
- Toutes les pages des paramètres ont été modifiées pour utiliser le nouveau thème ActionBar.
- Le thème est défini dans Theme.DeviceDefault.Settings.
- Nouvelle disposition des préférences
<ph type="x-smartling-placeholder">
- </ph>
- De nombreuses pages des paramètres utilisent désormais la nouvelle disposition des préférences.
- Vous trouverez le code dans:
packages/apps/Settings/res/values/styles_preference.xml
- Widget d'en-tête de l'application
<ph type="x-smartling-placeholder">
- </ph>
- La plupart des pages d'informations sur les applications dans les paramètres intègrent déjà Nouvel en-tête d'application.
- Des exemples et le code sont disponibles ici:
packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
- Bouton "Développer"
<ph type="x-smartling-placeholder">
- </ph>
- Des exemples et le code sont disponibles ici:
packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java
Remarque:Ce composant doit être utilisé conjointement avec DashboardFragment. (Pour en savoir plus sur DashboardFragment, consultez la page Architecture de l'information mise à jour.)
- Des exemples et le code sont disponibles ici:
- Sélecteur d'appli par défaut
<ph type="x-smartling-placeholder">
- </ph>
- Vous trouverez le code de la classe de base dans:
packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
- Il existe plusieurs sous-classes de DefaultAppPickerFragment, chacune mettant en œuvre un sélecteur pour différents intents.
- Vous trouverez le code de la classe de base dans:
- Préférence de style MasterSwitch
- Code disponible à l'adresse:
https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
- Un exemple de cas d'utilisation est le commutateur Wi-Fi principal. Vous trouverez un exemple à l'adresse suivante:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- Code disponible à l'adresse:
Implémentation
Les fabricants d'appareils peuvent commencer à utiliser tous les nouveaux composants prêts à l'emploi. Si les OEM décident d'implémenter un nouveau "MasterSwitch" préférences de style ou application par défaut il doit suivre les exemples de ce document et les fichiers de référence (Javadoc) écrit avec chaque composant pour en savoir plus.
Personnaliser le menu des paramètres
- Comportement du séparateur. Pour modifier la façon dont le séparateur est dessiné, modifiez le style des séparateurs de paramètres et
modifiez la valeur de l'élément suivant:
<ph type="x-smartling-placeholder">
- </ph>
allowDividerAbove
allowDividerBelow
allowDividerAfterLastItem
- Couleur du thème de la barre d'action. Les activités doivent utiliser le thème
Theme.DeviceDefault.Settings
, ou Créez un thème personnalisé en utilisantTheme.DeviceDefault.Settings
comme parent. - Widget d'en-tête de l'application. Utilisez des setters dans AppHeaderController pour personnaliser chaque champ et chaque appel
build()
une fois que tous les champs sont définis. - Bouton "Développer" :
<ph type="x-smartling-placeholder">
- </ph>
- Pour désactiver complètement la fonctionnalité, remplacez le constructeur pour ProgressiveDIVMixin et définissez la valeur keepExpanded sur "true".
- Pour personnaliser le nombre d'éléments à afficher initialement, appelez la méthode
ProgressiveDisclosureMixin.setTileLimit()
lors de l'exécutiononAttach(Context)
.