改变开关的颜色

Change the color of a switch

我想更改已打开开关的颜色 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中的开机颜色?

您可以像这样以编程方式执行此操作:

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

是的,您可以用找到的代码替换 switchColor.android android.graphics.Color.parseColor("#B3FFFFFF");