Dans ce chapitre, nous aborderons les sujets suivants:
► Insérer un widget dans une mise en page
► Utilisation de graphiques pour montrer l'état du bouton
► Création d'un widget lors de l'exécution
► Création d'un composant personnalisé
► Appliquer un style à une vue
► Transformer un style en thème
► Sélection d'un thème basé sur la version du système d'exploitation Android
introduction
Le terme widgets peut faire référence à plusieurs concepts différents dans Android. Lorsque la plupart des gens parlent de widgets, ils font référence à des widgets d'applications, qui sont généralement visibles sur l'écran d'accueil. Les widgets d'applications sont comme des mini-applications en elles-mêmes car elles fournissent généralement un sous-ensemble de fonctionnalités, en fonction de leur application principale. (Habituellement, la plupart des widgets d'application sont installés avec une application, mais ce n'est pas une exigence.Ils peuvent être des applications autonomes dans un format de widget.) Un exemple commun de widget d'application est une application météo qui offre plusieurs widgets d'application différents pour l'écran d'accueil . Le chapitre 5, Explorer les fragments, AppWidgets et l'interface utilisateur du système, traite des widgets d'application de l'écran d'accueil et fournit des recettes pour créer les vôtres.
Lors du développement pour Android, le terme widgets fait généralement référence à des vues spécialisées placées dans les fichiers de disposition, tels que Button, TextView, CheckBox, etc. Dans ce chapitre, nous allons nous concentrer sur les widgets pour le développement d'applications.
Pour afficher la liste des widgets fournis dans le SDK Android, ouvrez un fichier de présentation dans Android Studio et cliquez sur l'onglet Conception. Sur le côté gauche de la vue Conception, vous verrez la section Widget sous la section Mise en page, comme dans la capture d'écran suivante:
Comme vous pouvez le voir dans la liste, le SDK Android fournit de nombreux widgets utiles, depuis un simple TextView, Button ou Checkbox jusqu'aux widgets beaucoup plus complexes tels que Clock, DatePicker et Calendar. Aussi utiles que soient les widgets intégrés, il est également très facile de développer ce qui est fourni dans le SDK. Nous pouvons étendre un widget existant pour personnaliser ses fonctionnalités, ou nous pouvons créer notre propre widget à partir de zéro en étendant la classe Vue de base. (Nous en donnerons un exemple dans la recette Création d'un composant personnalisé plus tard.)
L'aspect visuel des widgets peut également être personnalisé. Ces paramètres peuvent être utilisés pour créer des styles, qui à leur tour peuvent être utilisés pour créer des thèmes. Tout comme avec d'autres environnements de développement, la création d'un thème offre l'avantage de changer facilement l'apparence de l'ensemble de notre application avec un minimum d'effort. Enfin, le SDK Android propose également de nombreux thèmes et variantes intégrés, tels que le thème Holo d'Android 3/4 et le thème Material d'Android 5. (Android 6.0 n'a pas publié de nouveau thème.)
Comme vous avez pu le voir dans les recettes précédentes, les widgets sont déclarés dans un fichier de mise en page ou créés dans du code. Pour cette recette, nous allons étape par étape pour ajouter un bouton avec Android Studio Designer. (Pour les recettes ultérieures, nous allons simplement afficher la présentation XML à partir de TextView.) Après avoir créé le bouton, nous allons créer un onClickListener ().
Se préparer
Commencez un nouveau projet dans Android Studio et appelez-le Insertwidget. Utilisez les options par défaut pour créer un projet Téléphone et tablette et sélectionnez Activité vide lorsque vous êtes invité à entrer le type d'activité. Vous pouvez supprimer le TextView par défaut (ou le laisser) car il ne sera pas nécessaire pour cette recette.
Comment faire...
Pour insérer un widget dans une mise en page, procédez comme suit:
1. Ouvrez le fichier activity_main.xml dans Android Studio et cliquez sur l'onglet Conception.
t49]
2. Trouvez le bouton dans la liste des widgets et faites-le glisser au centre de l'écran d'activité sur la droite. Android définira automatiquement les paramètres de disposition en fonction de l'endroit où le bouton est déposé. Si vous centrez le bouton comme indiqué dans la capture d'écran, Android Studio définit ces paramètres dans le fichier XML.
3. Pour voir le fichier XML créé, cliquez sur l'onglet Texte comme indiqué dans la capture d'écran suivante. Voyez comment le bouton est centré en utilisant les paramètres RelativeLayout. Prenez également note de l'identifiant par défaut car nous en aurons besoin pour l'étape suivante.
-d0}
4. Maintenant, ouvrez le fichier MainActivity.java pour modifier le code. Ajouter le code suivant
à la méthode onCreate () pour configurer onClickListener ():
Bouton bouton = (Bouton) findViewByld (R.id.button); button.setOnClickListener (new View.OnClickListener () {
@Passer outre
public void onClick (Voir la vue) {
Toast.makeText (MainActivity.this, "Cliqué",
Toast.LENGTH_SHORT) .show ();
}
});
5. Exécutez l'application sur un périphérique ou un émulateur.
Comment ça marche...
La création de l'interface utilisateur avec Android Studio est aussi simple que de faire glisser et de déposer des vues. Vous pouvez également modifier les propriétés des vues directement dans l'onglet Conception. Passer au code XML est aussi simple que de cliquer sur l'onglet Texte.
Ce que nous avons fait ici est très commun dans le développement d'Android: créer l'interface utilisateur en XML, puis raccorder les composants de l'interface utilisateur (Views) dans le code Java. Pour référencer une vue à partir d'un code, un identifiant de ressource doit lui être associé. Ceci est fait en utilisant le paramètre id:
android: id = "@ + id / bouton"
Notre fonction onClickListener affiche un message pop-up sur l'écran appelé Toast, lorsque le bouton est enfoncé.
{Kb
Il y a plus...
Jetez un coup d'oeil au format de l'identifiant que nous avons précédemment créé, @ + id / button. Le @ spécifie que cela va être une ressource et le signe + indique une nouvelle ressource. (Si nous omettons d'inclure le signe plus, nous obtiendrons une erreur de compilation indiquant qu'aucune ressource ne correspond au nom indiqué).
Voir également
► Butter Knife (Projet Open Source) -Field et méthode de liaison pour Android Views:
http://jakewharton.github.io/butterknife/