【发布时间】:2021-08-25 10:23:11
【问题描述】:
注意:我最初是在几天前发布的,但由于细节不足/不清楚而被关闭。希望这个转发通过集合
我正在使用 Xamarin.Forms 创建一个 Android/iOS 应用。
我发现选定的 RadioButtons 在 Android 上呈现为红色:
我想在我的应用主题中使用不同的颜色。
我找到了一个 Xamarin 论坛帖子,其中描述了标准机制,即通过在 Android 项目中添加以下代码来实现自定义渲染器:
[assembly: ExportRenderer(typeof(Xamarin.Forms.RadioButton), typeof(MyRenderer))]
namespace MyApp.Droid
{
public class MyRenderer : RadioButtonRenderer
{
public MyRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Button> e)
{
base.OnElementChanged(e);
if(Control != null)
{
Control.ButtonTintList = ColorStateList.ValueOf(Android.Graphics.Color.Yellow);
}
}
}
}
我已经添加了代码(渲染器在我的 Android 项目中);它编译、运行(在 Android 上)、按钮出现和功能等。
但是,从未调用过 MyRenderer() 和 OnElementChanged()。
是否需要额外的东西才能使应用使用自定义渲染器?
谢谢!
【问题讨论】:
标签: xamarin.forms custom-renderer