Obtenir la couleur d'arrière-plan d'une Mise en page
Je veux trouver la couleur d'arrière-plan d'une Mise en page à partir de mon code. Est-il possible de le trouver? quelque chose comme linearLayout.getBackgroundColor()
?
- Depuis l'arrière-plan ne peut pas être une couleur, vous pouvez utiliser linearLayout.getBackground() qui va vous donner une
Drawable
. Il n'y a pas d'API pour obtenir la couleur d'arrière-plan, en particulier. Lire la suite dans les docs de Vue - Mais j'ai vraiment besoin de trouver la couleur d'une mise en page. Il devrait être d'une autre manière ! ou est-il possible de l'obtenir à partir d'
Drawable
?
Vous devez vous connecter pour publier un commentaire.
Cela ne peut être accompli dans l'API 11+ si votre fond est d'une couleur unie.
ColorDrawable
semble être disponible depuis API 1, et aussi la vue.getBackground()..getColor
pour ColorDrawable a été ajouté dans l'API 11.Drawable
à unBitmap
et obtenir le premier pixel.int color = bitmap.getPixel(0, 0);
Pour obtenir la couleur d'arrière-plan d'une Mise en page:
Si C'est RelativeLayout ensuite, il suffit de trouver son id et l'utilisation de l'objet au lieu de LinearLayout.
ColorDrawable.getColor() ne fonctionne qu'avec les API de niveau supérieur à 11, de sorte que vous pouvez utiliser ce code pour prendre en charge à partir de l'API de niveau 1. Utiliser la réflexion au-dessous de l'API de niveau 11.
Court et Simple: