Ответ 1
Даже у меня такая же проблема, для решения этой проблемы я добавил пользовательский рендеринг для управления рамкой. В framerenderer необходимо переопределить метод Draw и частный метод DrawOutline следующим образом:
public override void Draw(ACanvas canvas)
{
base.Draw(canvas);
DrawOutline(canvas, canvas.Width, canvas.Height, 4f);//set corner radius
}
void DrawOutline(ACanvas canvas, int width, int height, float cornerRadius)
{
using (var paint = new Paint { AntiAlias = true })
using (var path = new Path())
using (Path.Direction direction = Path.Direction.Cw)
using (Paint.Style style = Paint.Style.Stroke)
using (var rect = new RectF(0, 0, width, height))
{
float rx = Forms.Context.ToPixels(cornerRadius);
float ry = Forms.Context.ToPixels(cornerRadius);
path.AddRoundRect(rect, rx, ry, direction);
paint.StrokeWidth = 2f; //set outline stroke
paint.SetStyle(style);
paint.Color = Color.ParseColor("#A7AE22");//set outline color //_frame.OutlineColor.ToAndroid();
canvas.DrawPath(path, paint);
}
}
И в другом подходе вы также можете рассмотреть использование андроида селектора xml закругленного угла в качестве фонового ресурса. Для получения дополнительной информации об этом проверьте мое сообщение в блоге: http://www.appliedcodelog.com/2016/11/xamarin-form-frame-outline-color_21.html