Wie kann ich die Primär- und Akzentfarbe in Android Lollipop wirklich programmgesteuert ändern?

Vor allem,diese Frag stellt eine sehr ähnliche Frage. Meine Frage hat jedoch einen subtilen Unterschied.

Was ich gerne wissen würde, ist, ob es möglich ist, das @ programmgesteuert zu ändecolorPrimary Attribut eines Themas zu einemwillkürlic Farbe

So zum Beispiel haben wir:

<style name="AppTheme" parent="android:Theme.Material.Light">
    <item name="android:colorPrimary">#ff0000</item>
    <item name="android:colorAccent">#ff0000</item>
</style>

Zur Laufzeit entscheidet der Benutzer, dass er @ verwenden möcht#ccffff als Grundfarbe. Natürlich kann ich keine Designs für alle möglichen Farben erstellen.

Es macht mir nichts aus, wenn ich hackige Sachen machen muss, wie das Verlassen auf die privaten Interna von Android, solange es mit dem öffentlichen SDK funktioniert.

Mein Ziel ist es, irgendwann das @ zu habActionBar un Alle Widgets wie einCheckBox, um diese Primärfarbe zu verwenden.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage