【发布时间】:2015-09-09 01:27:44
【问题描述】:
我需要按钮上的渐变背景。我使用Custome Renderer 来做到这一点。这是我的代码:
[assembly: ExportRenderer (typeof (Xamarin.Forms.Button), typeof (EvoMotorOilApp.Droid.MyButtonRender))]
...
protected override void DispatchDraw(global::Android.Graphics.Canvas canvas)
{
base.DispatchDraw(canvas);
var gradient = new Android.Graphics.LinearGradient(0, 0, 0, Height,
Color.FromRgba(255, 255, 255, 255).ToAndroid(),
Color.FromRgba(70, 70, 70, 50).ToAndroid(),
Android.Graphics.Shader.TileMode.Repeat);
var paint = new Android.Graphics.Paint() {
Dither = true,
};
paint.SetShader(gradient);
canvas.DrawPaint(paint);
}
但是结果渐变层超出了按钮并且他有锐角。如何做到这一点会形成渐变就像按钮形式一样? 有截图:https://drive.google.com/file/d/0B8C-lgUpGFGDVzhVUzJrMm01cFU/view?usp=sharing
【问题讨论】:
标签: android xamarin xamarin.forms