Xamarin.Forms.Entry中的圆形边框不断被剪切

时间:2018-11-14 05:30:13

标签: c# xamarin xamarin.forms xamarin.android

我的圆角边框条目被删掉了。我的自定义渲染器中的代码使圆角的宽度大于我设置的边框宽度。如何删除角落上增加的边框宽度?

WebGLFundamentals 代码:

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();

2 个答案:

答案 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中实现圆角输入而无需自定义渲染。您可以使用框架创建圆角效果。