2016-05-12 17 views
1

Ich möchte die Farbe eines Einschaltschalters auf Android ändern. Ich habe bemerkt, dass der Schalter die Farbe von ns_accent hat und dass diese Farbe nicht durch andere Elemente in meiner App geändert werden kann.Ändern Sie die Farbe eines Schalters

Style.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    ... 
    <color name="ns_accent">#00CCBB</color> 
</resources> 

In iOS i bereits das Problem mit diesem Code gelöst:

switch.ios.tintColor = UIColor.colorWithRedGreenBlueAlpha(1.0, 1.0, 1.0, 0.5); 
switch.ios.onTintColor = UIColor.colorWithRedGreenBlueAlpha(1.0, 1.0, 1.0, 0.5); 

Auch bemerkte ich, dass ich eine Android-Farbe mit diesem Code nicht analysieren:

android.graphics.Color.parseColor("#B3FFFFFF"); 

Frage: Wie kann ich die Einschaltfarbe in Android ändern?

+1

Sie können CSS-Eigenschaften Hintergrund-Farbe und Farbe für Schaltelement gesetzt, aber gefunden haben immer noch das wird unterschiedliche Ergebnisse abhängig von der Android-API-Ebene haben –

+1

Dies löste das Problem, danke! –

+0

Gibt es Verfügbarkeit für Checked State CSS? –

Antwort

4

Sie können es so programmatisch tun:

var Color = colorModule.Color 
var switchColor = new Color("#somecolor"); 

switch.android.getThumbDrawable().setColorFilter(switchColor.android, android.graphics.PorterDuff.Mode.MULTIPLY);  
switch.android.getTrackDrawable().setColorFilter(switchColor.android, android.graphics.PorterDuff.Mode.MULTIPLY); 

Und ja, können Sie switchColor.android durch den Code ersetzen Sie android.graphics.Color.parseColor("#B3FFFFFF");

+0

Können Sie erklären, wie Sie das erreicht haben? – Dlucidone

+0

Ich lese die Android-API und übertrage sie in Javascript –

Verwandte Themen