-2

In meiner App können Sie das Thema von Hell zu Dunkel und umgekehrt ändern. Dadurch wird das Design entweder auf Theme.AppCompat.Light.DarkActionBar oder Theme.AppCompat gesetzt, und die Aktivität wird beendet und gestartet, damit das Layout erneut geladen werden kann.Android Wie programmiere ich zur Laufzeit die Farbe einer Ansicht auf die einer anderen Ansicht?

enter image description here

Ich mag die Farbe dieser drei violetten Linien der Lage sein, die Einstellungen auf die gleiche Farbe einer anderen Ansicht im Layout Aufteilung zu ändern (zum Beispiel des Text). Wenn ich zum dunklen Thema übergehe, möchte ich, dass die Linienfarbe genau in die gleiche Farbe des Textes wechselt und umgekehrt, wenn ich zum hellen Thema übergehe. Lichtthema => dunkle Linien, dunkles Thema => helle Linien. Ich muss in der Lage sein, dies programmatisch zu tun, was auch immer die Textfarbe ist, weil es eine unterschiedliche Farbe in verschiedenen API-Ebenen ist. Aus diesem Grund funktionieren die Farben nicht auf fest codierten Werten.

Antwort

1

Sie können die dunklen und hellen Themen für das android:divider Element neu definieren, indem Sie die folgende Zeile den beiden Designs hinzufügen.

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

Ein Beispiel für dunkles Thema Stil wäre:

<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

Wenn die Antwort auf die Frage gelöst, fügen Sie es zum späteren Nachschlagen akzeptieren. – Abhi

Verwandte Themen