web-dev-qa-db-fra.com

Comment utiliser default Android drawables

Quelle est la meilleure approche lorsqu’on utilise des éléments dessinables par défaut Android? Devrais-je utiliser Android.R.drawable Ou devrais-je copier les dessins dans mon projet et utiliser R.drawable?

Existe-t-il un risque, dans une version plus récente d'Android, de supprimer ou de redimensionner une partie des tirables par défaut? Ou, affecter de manière négative, l'apparence de mon application? En outre, quels sont les éléments dessinables dans le code source Android qui sont considérés comme "stables" et sur lesquels il faut compter?

Je préfèrerais ne pas copier les tirables car je pense que l'apparence de l'application devrait être cohérente avec la version Android utilisée. Ainsi, par exemple, pour la version 1.6, il devrait utiliser les bitmaps Android par défaut de la version 1.6.

55
Catalin Morosan

Si vous parcourez les discussions du groupe de développement Android, vous constaterez qu'elles découragent l'utilisation de tout élément ne figurant pas dans le SDK public, car le reste est sujet à de profondes modifications.

21
androidworkz

Exemple d'utilisation de Java: myMenuItem.setIcon(Android.R.drawable.ic_menu_save);

Exemple d'utilisation des ressources: Android:icon="@Android:drawable/ic_menu_save"

99
Amjad Abu Saa

Autant que je m'en souvienne, la documentation déconseille d'utiliser directement les icônes de menu d'Android.R.drawable et recommande de les copier dans votre dossier drawables. La raison principale en est que ces icônes et noms peuvent être sujets à modification et risquent de ne plus être disponibles dans les prochaines versions.

Avertissement: étant donné que ces ressources peuvent changer d’une version à l’autre de la plate-forme, vous ne devez pas référencer ces icônes à l’aide des ID de ressource de la plate-forme Android (c.-à-d. Icônes de menu sous Android.R.drawable). Si vous utilisez des icônes ou d’autres ressources internes exploitables, vous devez stocker une copie locale de ces icônes ou de ces éléments dans vos ressources d’application, puis référencer la copie locale à partir du code de votre application. Vous pourrez ainsi garder le contrôle sur l’apparence de vos icônes, même si la copie du système change.

à partir de: http://developer.Android.com/guide/practices/ui_guidelines/icon_design_menu.html

35
Andreas

Mieux vaut les copier et les déplacer vers vos propres ressources. Certaines ressources pourraient ne pas être disponibles sur les versions précédentes Android. Voici un lien avec tous les éléments dessinables disponibles sur chaque Android grâce à @fiXedd

21
ggomeze

Pour utiliser la ressource par défaut Android, aucune copie n'est nécessaire .. vous pouvez simplement l'importer d'abord avec ..

import Android.R;

mais je vais faire vos propres ressources aura une erreur si vous voulez l'utiliser. L'erreur sera quelque chose comme:

R. ne peut être résolu

Donc, je préfère ne pas utiliser import Android.R Mais import *my.own.package*.R;

puis quand je peux normalement utiliser ma propre ressource avec R.drawable.*something* sans erreur, et mettre Android.R.*something_default* pour utiliser les ressources par défaut Android.

7
richardlin

Mieux vaut utiliser Android.R.drawable car il est public et documenté.

3
Denis Palnitsky