如何更改Xamarin中的Checkbox / Radibutton颜色?

时间:2017-08-23 04:36:05

标签: xamarin xamarin.android xamarin.forms

我在自己的应用程序中使用自定义渲染实现了单选按钮和复选框控件。我通过参考以下链接来渲染控件。控件的默认颜色为白色。由于我的应用程序背景颜色是白色控件不可见。我试图改变控件的颜色。但它没有用。文字颜色只会改变。任何人都可以建议如何更改Checkbox /单选按钮控件的颜色?

https://github.com/XLabs/Xamarin-Forms-Labs

先谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用 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