Articles récents
Android : Les menus de préférences
Les applications ont besoins de proposer à l'utilisateur des menus de configuration ou des choix de fonctionnement ou paramètres.
Android dispose d'une méthodologie pour faire cela très simplement sans avoir à tout repenser : les menus de préférences. Ils fonctionnent à base de SharedPreference et ont été simplifiés au maximum. Tout est dans les fichiers xml qui décrivent la structure de nos préférences.
1)Introduction
La méthodologie est toujours la même: |
A noter qu'il existe plusieurs méthodes pour charger le fichier xml, la plus simple étant par addPreferencesFromResource(). Nous allons faire exemple pour bien comprendre comment coder facilement un menu de préférences.
Le fichier preference.xml:
Ce qui donne:
Ce qui est intéressant à noter, c'est la simplicité de mise en oeuvre, mais aussi le mode de stockage. Comme nous le disions initialement, les valeurs sont stockées sous forme de PreferenceShared, donc sous forme d'un fichier xml (dans notre exemple sous /data/app/data/fr.doritique/fr.doritique.menupref_preference.xml).
Le fichier xml sera de la forme:
2)Les différentes structures
2.1)La liste
La structure ListPreference permet d'afficher une liste de choix prédéfinis. Les attributs :Le mieux est de proposer un exemple:
Le fichier /res/values/array.xml :
Le fichier des Shared preference:
2.2)La case à cocher
Nous avons dans l'exemple initiale une case à cocher. L’attribut summaryOn indique la case est cochée, alors que summaryOff indique le contraire. A noter, l'attribut dependency qui indique une clé de la dépendance associée. Ainsi, la case est activée, alors la dépendance sera active également.2.3)La zone texte
Voir également, l'exemple initiale.2.4)Sélection d'une sonnerie
Il existe une structure spécifique pour sélectionner une sonnerie.3)Structurer les menus de préférences
Souvent les menus de préférences deviennent des usines à gaz difficile à comprendre pour l'usager. Il est donc utile de les segmenter pour les simplifier.3.1)Les catégories
La catégorie permet de rassembler des structures de préférences. Ainsi la vue affichée sera séparée par un séparateur ajouté par le framework automatiquement.Donc avec:
On obtient:
L'attribut title dans le PreferenceCategory permet rajouter un texte sur le séparateur pour favoriser la compréhension du thème de la catégorie qui suivra.
3.2)La hiérarchisation des préférences
Il est possible de hiérarchiser également les écrans en imbriquant les PreferenceScreen les uns dans les autres. Si on clique sur la zone, une activité est lancée est une vue associée apparaît.Par exemple:
Ce qui donnera les deux vues ci-dessous:
Conclusion
Les menus de préférences sont très simples à mettre en oeuvre, et disposent d'une méthodologie pour réaliser leurs hiérarchisation. Ils sont conservés sous forme d'une map PreferedShared, ce qui permet de conserver et lire facilement les choix de l'usager
© 2024 www.doritique.fr par Robert DORIGNY