Modification de la forme de la couleur de la bordure au moment de l'exécution
J'ai cette forme dans mon dossier drawable:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<solid android:color="#ffffff" />
<stroke android:width="2dp" android:color="#B5B5B5"/>
</shape>
Ceci définit un rectangle avec des coins arrondis et je peux l'appliquer à l'arrière-plan d'un panneau comme ceci: android:background="@drawable/round_corner_shape".
Voici la question: j'ai quelques panneaux sur ma demande, de la même forme que de fond, mais pour chaque forme, je veux un autre de la frontière (avc) de couleur. Je ne veux pas créer de 3 formes de, la seule différence sur la couleur du contour. Est-il possible de changer lors de l'exécution de la course?
- c'est quelque chose à penser, bonne question. +1
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème.
Dans mon cas, j'ai eu un GridView, lequel les éléments de la grille pourrait avoir la couleur de la bordure modifié par l'utilisateur lors de l'exécution.
Donc, dans le gridviewAdapter pour cette grille, je n'ai la suite dans la méthode getView (celui qui génère la vue de la carte)
mColor est un int qui représente la couleur, un peu comme nous le faisons dans les fichiers xml.
Dans le code java, au lieu de "#" pour nous, le "0x" de la définir dans le AARRGGBB format.
Par exemple, l'utilisation 0xFF000000 pour 100% opaque NOIR et 0xFF0000FF pour 100% opaque BLEU.
Expliquant ce ici depuis l'api google 'gentiment' indique que l'int est de couleur "la couleur de la course".
Cela a résolu mon problème... je pense que vous pouvez essayer quelque chose de similaire pour votre cas.
Salut vous pouvez essayer de créer votre arrière-plan de l'exécution, alors vous pouvez changer quand vous le souhaitez.
bg.getPaint().setColor(0x99FFFFFF);