Je crée une application avec des ressources qui peuvent être réutilisées (car les boutons sont toujours les mêmes, mais en miroir ou en rotation). Je veux utiliser la même ressource, donc je n’ai pas besoin d’append 3 ressources supplémentaires qui sont exactement comme l’original mais en rotation. Mais je ne veux pas non plus mélanger le code avec des éléments pouvant être déclarés dans le XML ou effectuer des transformations avec une masortingce qui coûtera du temps de traitement.
J’ai un bouton à deux états déclaré dans un XML.
et je veux réutiliser le dessinable car il sera identique mais tourné à 90º et 45º et j’atsortingbue le bouton à dessiner.
Je sais que je peux le faire pivoter avec RotateDrawable
ou avec une Masortingx
mais comme je l’ai déjà expliqué, je n’aime pas cette approche.
Est-il possible de réaliser cela directement sur le XML ou que pensez-vous que ce sera la meilleure façon de le faire? Mettez toutes les ressources mais faites-les pivoter, faites-les pivoter dans le code?
— EDIT — La réponse de @dmaxi fonctionne bien, c’est comment le combiner avec une liste d’articles 🙂
Je pourrais tourner en XML:
Le fromDegrees
est important.
Il s’agit d’une animation de rotation définie en XML. Avec fromDegrees
vous définissez l’état initial pivoté. Le toDegrees
est l’état de rotation final du dessinable dans la séquence d’animation mais peut être n’importe quoi si vous ne voulez pas utiliser d’animation.
Je ne pense pas qu’il alloue des ressources pour l’animation car il n’est pas nécessaire de le charger en tant qu’animation. En tant que tirable, il est rendu comme son état initial et doit être placé dans le dossier de ressources drawable
être drawable
. Pour l’utiliser en tant qu’animation, vous devez la placer dans un dossier de ressources animées et lancer l’animation comme ceci (juste un exemple):
Animation rotation = AnimationUtils.loadAnimation(this, R.anim.rotation); rotation.setRepeatCount(Animation.INFINITE); myView.startAnimation(rotation);
Je pourrais faire pivoter la flèche à gauche en XML comme:
Image ci-jointe pour référence.
Si des fichiers vectoriels sont utilisés, en conjonction avec une liste d’ images , de styles et d’états de couleurs, votre bouton peut être modifié comme suit:
Remarque: les fichiers vectoriels sont beaucoup plus petits que les images. Par conséquent, des définitions explicites supplémentaires n’entraînent pas de surcroît de travail, ce qui rend le code clair et explicite. la surcharge de la mise à jour de deux fichiers plutôt que la transformation de l’un d’eux):
Remarque: Android Studio est une excellente source d’actifs vectoriels.
res \ values \ styles.xml
res \ color \ button_csl.xml
details_menu_large_button.xml
Details_Buttons_Top_Left_Button
and_card_details_button_down_left.xml (ic_play_arrow_black_24dp.xml)
and_card_details_button_down_left_onclick.xml (ic_play_arrow_black_24dp.xml modifié)