我正在玩Xamarin Forms和SkiaSharp。我用SkiaCanvas创建了一个简单的Xamarin表单ContentView。我的PaintSurface如下绘制一个简单的绿色圆圈:
private void canvas_PaintSurface(object sender, SKPaintSurfaceEventArgs e)
{
var view = (SKCanvasView)sender;
var canvas = e.Surface.Canvas;
using(var paint = new SKPaint())
{
paint.Color = Colours.XamarinGreen;
paint.Style = SKPaintStyle.Fill;
paint.StrokeWidth = 1;
paint.IsAntialias = true;
canvas.DrawCircle((float)view.Width / 2.0f, (float)view.Height / 2.0f, (float)view.Height / 2.0f, paint);
}
}
在我的测试应用中,当我通过拖动窗口的一角调整窗口大小时,圆圈会闪烁。我想知道在Xamarin.Forms应用程序中使用SkiaSharp绘制图形时是否有一种简单的方法可以启用双缓冲?