Implémentation de Jetpack Compose
Cette page fournit des informations sur la création et l'utilisation d'icônes d'application spécifiques aux mises en page basées sur des vues. Pour obtenir des informations plus complètes sur la création d'icônes d'application, consultez Créer des icônes d'application, qui couvre notre framework d'UI recommandé.
Créer une icône de barre d'action ou d'onglet
Utilisez Image Asset Studio pour créer des icônes de barre d'action et d'onglet pour les mises en page basées sur des vues.
Les icônes de barre d'action sont des éléments graphiques qui apparaissent dans une barre d'action et qui représentent des fonctionnalités individuelles. Pour en savoir plus, consultez les sections Ajouter et gérer Actions, Barre d'application - Material Design {:.external} et Conception de barre d'action.
Les icônes d'onglet sont des éléments graphiques utilisés pour représenter des onglets dans une interface qui en comporte plusieurs. Chaque icône d'onglet a deux états : non sélectionnée et sélectionnée. Pour en savoir plus, consultez les sections Créer des vues par balayage avec des onglets et Onglets - Material Design.
Image Asset Studio place les icônes aux emplacements appropriés dans les
res/drawable-<density>/ répertoires.
Il est recommandé d'utiliser le style Material Design pour les icônes de barres d'action et d'onglets, même si vous utilisez d'anciennes versions d'Android. Utilisez appcompat et d'autres
bibliothèques d'assistance pour appliquer votre UI Material Design sur les
anciennes versions de la plate-forme.
Au lieu d'Image Asset Studio, vous pouvez utiliser Vector Asset Studio pour créer des icônes de barre d'action et d'onglet. Les drawables vectoriels sont adaptés aux icônes simples et peuvent réduire la taille de votre application.
Après avoir ouvert Image Asset Studio, vous pouvez ajouter une icône de barre d'action ou d'onglet en procédant comme suit :
- Dans le champ Type d'icône, sélectionnez Icônes de barre d'action et d'onglet.
Sélectionnez un type d'élément, puis spécifiez l'élément dans le champ ci-dessous :
Dans le champ Image clipart, cliquez sur le bouton.
Dans la boîte de dialogue Select Icon (Sélectionner une icône), sélectionnez une icône Material material, puis cliquez sur OK.
Dans le champ Chemin d'accès, spécifiez le chemin d'accès et le nom du fichier image. Cliquez sur … pour utiliser une boîte de dialogue.
Dans le champ Texte, saisissez une chaîne de texte et sélectionnez une police.
L'icône s'affiche dans la zone Élément source à droite ainsi que dans la zone d'aperçu en bas de l'assistant.
Si vous le souhaitez, modifiez le nom et les options d'affichage :
Nom : Si vous ne souhaitez pas utiliser le nom par défaut, saisissez-en un nouveau. Si ce nom de ressource existe déjà dans le projet, une erreur s'affiche en bas de l'assistant et le nom existant est écrasé. Le nom ne peut contenir que des caractères minuscules, des traits de soulignement et des chiffres.
Couper : Pour ajuster la marge entre l'élément graphique et la bordure de l'élément source, sélectionnez Oui. Cette opération supprime l'espace transparent tout en conservant le format. Pour n'apporter aucune modification à l'élément source, sélectionnez Non.
Marge intérieure : Si vous souhaitez ajuster la marge intérieure des éléments source sur les quatre côtés, déplacez le curseur. Sélectionnez une valeur comprise entre - 10% et 50%. Si vous utilisez également l'option Couper, celle-ci est faite en priorité.
Thème : Sélectionnez HOLO_LIGHT ou HOLO_DARK. Autrement, si vous souhaitez spécifier une couleur dans la boîte de dialogue Select Color (Sélectionner une couleur), sélectionnez CUSTOM (PERSONNALISÉ), puis cliquez sur le champ Custom color (Couleur personnalisée).
Image Asset Studio crée l'icône dans un carré transparent afin de créer une marge intérieure. La marge intérieure fournit suffisamment d'espace pour un effet d'ombre projetée standard.
Cliquez sur Suivant.
Vous pouvez également modifier le répertoire de ressources :
- Répertoire de ressources : Sélectionnez l'ensemble de sources auquel vous souhaitez ajouter le composant Image : src/main/res, src/debug/res, src/release/res ou un ensemble défini par l'utilisateur. L'ensemble de sources principal s'applique à toutes les variantes de compilation, y compris celles de débogage et de publication. Les ensembles de sources de débogage et de publication remplacent l'ensemble de sources principal et s'appliquent à une seule version d'une compilation. L'ensemble de sources de débogage sert uniquement au débogage. Pour définir un nouvel ensemble de sources, sélectionnez File (Fichier) > Project Structure (Structure du projet) > app (appli) > Build Types (Types de compilation). Par exemple, vous pouvez définir un ensemble de sources bêta et créer une version d'une icône incluant le texte "BÊTA" en bas à droite. Pour en savoir plus, consultez la section Configurer des variantes de compilation.
La zone Répertoires de sortie affiche les images ainsi que les dossiers dans lesquels elles apparaîtront dans l'affichage Fichiers du projet de la fenêtre Projet.
Cliquez sur Terminer.
Image Asset Studio ajoute les images aux dossiers drawable pour les différentes densités.
Faire référence à une ressource d'image dans du code
Vous pouvez normalement faire référence à une ressource d'image de manière générique dans votre code. Lorsque votre application s'exécute, l'image correspondante s'affiche automatiquement en fonction de l'appareil :
Dans la plupart des cas, vous pouvez faire référence aux ressources d'image à l'aide de
@drawableen XML ouDrawableen Java.Par exemple, le code XML de mise en page suivant affiche le drawable dans un
ImageView:<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/myimage" />Le code Java suivant récupère l'image en tant que
Drawable:Kotlin
val drawable = resources.getDrawable(R.drawable.myimage, theme)
Java
Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.myimage, getTheme());
La méthode
getResources()se trouve dans la classeContext, qui s'applique aux objets d'UI tels que les activités, les fragments, les mises en page, les vues, etc.Si votre application utilise la bibliothèque Support, vous pouvez faire référence à une ressource d'image dans le code XML avec une instruction
app:srcCompat. Exemple :<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" app:srcCompat="@drawable/myimage" />
Vous ne pouvez accéder aux ressources d'image qu'à partir du thread principal.
Une fois que vous disposez d'une ressource d'image dans le répertoire res/ de votre projet, vous pouvez y faire référence en code Java ou dans votre mise en page XML à l'aide de son ID de ressource.
Le code Java suivant définit un ImageView pour utiliser la
drawable/myimage.png ressource :
Kotlin
findViewById<ImageView>(R.id.myimageview).apply { setImageResource(R.drawable.myimage) }
Java
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Pour en savoir plus, consultez la section Accéder aux ressources de votre application.