2016-05-12 93 views
1

我想更改Android上切换开关的颜色。我注意到,交换机具有ns_accent的颜色,并且由于我的应用中的其他元素,此颜色无法更改。更改开关的颜色

Style.xml:

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

在iOS系统中,我已经解决了这个问题,此代码:

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); 

而且我注意到,我可以解析一个Android的颜色与此代码:

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

问题:如何更改Android中的开机颜色?

+1

您可以设置CSS属性背景颜色和颜色的开关元件,但代码替换switchColor.android仍然会有不同的结果,取决于Android API级别 –

+1

这解决了这个问题,谢谢! –

+0

是否有检查状态CSS的可用性? –

回答

4

你可以做到这一点编程方式是这样的:

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); 

,是的,你可以通过你已经找到android.graphics.Color.parseColor("#B3FFFFFF");

+0

你能解释你是如何做到的? – Dlucidone

+0

我读了android API并将其转移到Javascript –