[笔记]xamarin.forms button 在 android 端显示问题

在当前 xamarin.forms 最新版本中 2.5.0.280555 , button 在 android 端 显示,如果给一个背景色,则有点立体感,即阴影效果。

 

注意看 button2 底部。

 

如果我需要 只显示一个 背景图片,背景白色 且有触摸反馈效果,比如 倒数第2个, 这个显示效果,就不是我们想要的。 除非背景设置未 透明,则 按钮 就不会有背景效果了,如 最后一个。

 

解决方法: 

在 android 端,新建一个 ButtonFixedRender,继承 Xamarin.Forms.Platform.Android.SnippetButtonRenderer  ,同时,将 xamarin.forms 版本 降一级, 2.5.0.122203  。 

 

ButtonFixedRender 中不需要写任何自定义代码。

    public class ButtonFixedRender : ButtonRenderer
    {
        public ButtonFixedRender()
        {
        }

        public ButtonFixedRender(Context context) : base(context)
        {
        }

        protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Button> e)
        {
            base.OnElementChanged(e);
        }
    }

 

这样就可以了。 经测试 relase 下也可以。  

前:          

 

后:

 

这是个神奇的问题。~              在 xamarin 的论坛上,也看到一个类似的,继承这个render 就会变好。