Иметь настраиваемую запись с настраиваемым средством визуализации записи для Android:
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (Control == null)
{
return;
}
Control.SetBackgroundColor(Android.Graphics.Color.Transparent);
if (!(e?.NewElement is MyEntry element))
{
return;
}
GradientDrawable drawable = new GradientDrawable();
drawable.SetShape(ShapeType.Rectangle);
float cornerRdaius = TypedValue.ApplyDimension(ComplexUnitType.Dip, (float)element.CornerRadius, Resources.DisplayMetrics);
drawable.SetCornerRadius(cornerRdaius);
drawable.SetColor(element.BackgroundColor.ToAndroid());
int stroke = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, (float)element.BorderWidth, Resources.DisplayMetrics);
drawable.SetStroke(stroke, element.BorderColor.ToAndroid());
int paddingLeft = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, (float)element.Padding.Left, Resources.DisplayMetrics);
int paddingTop = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, (float)element.Padding.Top, Resources.DisplayMetrics);
int paddingRight = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, (float)element.Padding.Right, Resources.DisplayMetrics);
int paddingBottom = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, (float)element.Padding.Bottom, Resources.DisplayMetrics);
Control.Background = drawable;
Control.SetPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
}
Результат: введите описание изображения здесь
Я пытаюсь сделать так, чтобы круглый угол был контуром элемента управления,
, но каким-то образом цвет фона выходит за пределы обводки,
Делая это прямоугольник.
Как заставить углы обрезать цвет?