我必须在Xamarin.Forms中使用圆角输入,但我还没有得到任何解决方案。请帮助我解决这个问题。
答案 0 :(得分:6)
我有完全相同的要求,并决定创建名为EntryEx
的自定义控件。您可以找到源代码HERE。
以下是此控件支持的函数列表。
我为iOS和Android创建了自定义渲染器以支持此属性。 要使用该控件,请执行以下操作。
EntryEx
添加到您的表单项目。EntryExRenderer
- 。这就是全部。享受。
答案 1 :(得分:0)
我不确定这种方法是否存在问题,因为它看起来很简单,但没人建议。
但是我不明白为什么不能仅将Frame
设置为IsClippedToBounds
的{{1}}。这样可以为您提供内置的转角半径,然后可以根据需要进行调整。
true
我目前正在使用此解决方案,并且对我有效。
答案 2 :(得分:0)
kyurkchyan的解决方案很强大,只需将Android entryRendere中的UpdateBackground方法更改为此:
private void UpdateBackground(XEntry xEntry)
{
if (_renderer != null)
{
_renderer.Dispose();
_renderer = null;
}
var oldBg = xEntry.BackgroundColor;
xEntry.BackgroundColor = Xamarin.Forms.Color.Transparent;
_renderer = new BorderRenderer();
Control.SetBackground(_renderer.GetBorderBackground(xEntry.BorderColor, oldBg, xEntry.BorderWidth, xEntry.BorderRadius));
}
它也将在Android上运行!