-2
votes

Comment définir la couleur de la barre d'outils de manière dynamique

Je reçois la couleur en utilisant l'intention. J'ai besoin de définir cette couleur de manière dynamique dans la barre d'outils. Internet n'a trouvé qu'une telle solution, mais cela ne fonctionne pas.

Erreur:

java.lang.illegalargumentException: couleur inconnue xxx


0 commentaires

3 Réponses :


0
votes

Il suffit d'initialiser l'objet de la barre d'outils et définissez la couleur de fond xxx


0 commentaires

0
votes

de: https: // développeur. android.com/reference/android/graphics/drawable/colordrawable.html#colordrawable(int)

Colordrawable
ajouté au niveau API 1
Colordrawable publique (int couleur)
crée une nouvelle colorée avec la couleur spécifiée.
Paramètres
Couleur int: la couleur à dessiner. P> blockquote>

Vous avez donc la valeur de la couleur et que vous devriez faire: p> xxx pré>

mais randomandroidColor code> est de type long code> (pourquoi?). de
Vous devez modifier le type de la valeur supplémentaire extra_color code> vers int code>,
Les deux dans l'activité qui met l'extra et dans l'activité qui obtient le supplément de manière supplémentaire pour éviter le débordement de la valeur entière et l'obtenir comme ceci: P>

private int randomAndroidColor = getIntent().getIntExtra(EXTRA_COLOR, 0);


3 commentaires

GETUPPORTAREBARBAR () Peut causer une référence de pointeur NULLL, utilisez donc: Objets.Requirenonnull (GetPortageBar). Votre fonction .


Si GetsUppPortageBarbar () Cause Cause Null Pointer Exception alors l'erreur ne serait pas java.lang.illegalargumentException


Il a été montré par Android Studio, je ne le connais pas beaucoup!



0
votes

Vous devez faire référence à la barre d'outils et utiliser Toolbar.setbackResource (res);


0 commentaires