【发布时间】:2018-03-05 09:48:44
【问题描述】:
我有一个用于 Android 的自定义 ButtonRenderer,我想更改用于按钮的图像的颜色。
这是我的ButtonRenderer:
public class VolosBaseButtonRenderer : Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer {
public VolosBaseButtonRenderer(Context context) : base(context) { }
protected override void OnElementChanged(ElementChangedEventArgs<Button> e) {
base.OnElementChanged(e);
// What I must do here for change the Image color????
}
protected override AppCompatButton CreateNativeControl() {
var context = new ContextThemeWrapper(Context, Resource.Style.Widget_AppCompat_Button_Borderless);
var button = new AppCompatButton(context, null, Resource.Style.Widget_AppCompat_Button_Borderless);
return button;
}
}
我尝试了这些方法,但没有奏效:
Control.Background.SetColorFilter(global::Android.Graphics.Color.Blue, global::Android.Graphics.PorterDuff.Mode.SrcIn);
Control.Background.SetTint(Color.Red.ToAndroid());
如果可能的话,我可以在按钮上应用样式(但我不知道该怎么做)。
任何方法都可以。
谢谢!
【问题讨论】:
-
不应该只是 button.SetColourFilter(Color.Blue, PortterDuff.Mode.SrcIn);不确定您为什么使用“Control.Background”,它也不是您在图像按钮上着色的背景。
标签: c# xamarin.forms xamarin.android renderer