我的圆角边框条目被删掉了。我的自定义渲染器中的代码使圆角的宽度大于我设置的边框宽度。如何删除角落上增加的边框宽度?
var y = (float)CalculateResolutionScaling(25);
var x = new float[] { y, y, y, y, y, y, y, y };
var z = new RectF(35, 35, 35, 35);
var shape = new ShapeDrawable(new global::Android.Graphics.Drawables.Shapes.RoundRectShape(x, null, null));
shape.Paint.SetStyle(Paint.Style.Stroke);
shape.Paint.StrokeWidth = (float)CalculateResolutionScaling(control.BorderWidth * 2.75);
Control.Background = shape;
shape.Paint.Color = control.BorderColor.ToAndroid();
答案 0 :(得分:0)
您需要做的就是将其添加到样式中
RoundedCorner.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="10dp" />
<padding
android:bottom="3dp"
android:left="0dp"
android:right="0dp"
android:top="3dp" />
<gradient
android:angle="90"
android:endColor="@color/White"
android:startColor="@color/White" />
<stroke
android:width="1dp"
android:color="@color/Gray" />
</shape>
然后使用类似这样的内容:
Control.Background = ResourcesCompat.GetDrawable(this.Resources, Resource.Style.RoundedCorner, null);
如果要更改“转角”的颜色,只需在上面的XML中更改笔触颜色。
如果有任何查询,请随时还原。
答案 1 :(得分:0)
我们可以在xamarin.forms中实现圆角输入而无需自定义渲染。您可以使用框架创建圆角效果。