Я пишу пользовательский рендер для Xamarin.Forms
. Я переопределяю класс ImageRenderer
, чтобы внести некоторые изменения в изображение.
Однако я хочу наложить некоторые части изображения на круги, поэтому я переопределил метод void OnDraw(Canvas canvas)
.
Затем я немного модифицирую Canvas
, рисуя несколько кругов:
protected override void OnDraw(Canvas canvas)
{
var paint = new Paint
{
Color = Color.Red
};
paint.SetStyle(Paint.Style.Fill);
foreach (var mapObject in _control.PointSource)
{
canvas.DrawCircle(mapObject.Location.X, mapObject.Location.Y, 100 / _scaleFactor, paint);
}
base.OnDraw(canvas);
}
Однако все нарисовано на заднем плане. Фактическое изображение всегда на вершине. Как можно нарисовать круги поверх изображения?
https://developer.xamarin.com/api/member/Android.Views.View.OnDraw/
В документах говорится следующее:
холст, на котором будет нарисован фон
Итак, текущее поведение было ожидаемым.