您可以在 OnElementChanged 方法中使用以下行代码从渲染器设置 Xamarin.Forms 控件(如 Switch)颜色:
Control.OnTintColor = Color.Blue.ToUIColor();
对于您的 XLab 控件,您需要在 CheckBoxRenderer 中设置背景颜色并在 OnElementChanged 方法中更改颜色。或者你也可以从控制中改变。
BackgroundColor = Element.BackgroundColor.ToUIColor();
对于 Android,您可以通过以下材料设计进行管理:
用这个创建一个新的 style.xml 文件(将 colorAccent 中的颜色更改为您喜欢的任何颜色)并将其放入 Resources 文件夹中。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="MyTheme" parent="MyTheme.Base">
</style>
<!-- Base theme applied no matter what API -->
<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- colorAccent is used as the default value for colorControlActivated which is used to tint widgets -->
<item name="colorAccent">#0000FF</item>
<!-- You can also set colorControlNormal, colorControlActivated colorControlHighlight and colorSwitchThumbNormal. -->
</style>
</resources>
然后将属性添加到 MainActivity.cs 以加载该主题。
[Activity(Label = "MyApp", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, WindowSoftInputMode = SoftInput.AdjustResize)]
public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity