-2

Dans mon application, vous pouvez changer le thème de Light à Dark et vice versa. Qu'est-ce que cela fait en réglant le thème sur Theme.AppCompat.Light.DarkActionBar ou Theme.AppCompat et en finissant et en démarrant l'activité pour que la mise en page se charge à nouveau.Android comment définir la couleur d'une vue à celle d'une autre vue par programmation lors de l'exécution?

enter image description here

Je veux être en mesure de changer la couleur de ces trois lignes violettes divisant les paramètres de la même couleur d'une autre vue de la mise en page (par exemple le texte). Quand je passe au thème sombre, je veux que la couleur des lignes change exactement à la même couleur du texte et vice versa quand je passe au thème de la lumière. Thème lumineux => lignes sombres, thème sombre => lignes claires. Je dois être en mesure de faire cela par programme quelle que soit la couleur du texte, car il s'agit d'une nuance différente dans différents niveaux d'API. C'est pourquoi la définition des couleurs aux valeurs codées en dur ne fonctionnera pas.

Répondre

1

Vous pouvez redéfinir les thèmes sombres et clairs pour l'élément android:divider en ajoutant la ligne suivante aux deux styles de thème.

<item name="android:divider">your_color</item> 

Un exemple de style thème sombre serait:

<style name="MyDesign" parent="Theme.AppCompat.Light.DarkActionBar"> 
<item name="colorPrimaryDark">yourcolor</item> 
<item name="colorPrimary">yourcolor</item> 
<item name="colorAccent">yourcolor</item> 
<item name="android:textColorPrimary">@color/textColorPrimary</item> 
<item name="android:textColorSecondary">@color/textColorSecondary</item> 
<item name="android:divider">yourcolor</item> 
<item name="android:windowBackground">@color/window_background</item> 
</style> 
+0

Si la réponse a résolu la question, s'il vous plaît accepter pour référence ultérieure. – Abhi