根据Xamrin,我们可以将条目的键盘设置为Url键盘。它还告诉我们可以设置KeyboardFlags。
但我们如何设置两者?以任何方式影响键盘的唯一方法似乎是将其设置为某些键盘。似乎没有办法改变现有的键盘。
答案 0 :(得分:1)
似乎我们无法从Xamarin.Forms中获得这两个选项。相反,我们可以通过自定义渲染器访问本机视图来实现它。
从Xamarin.Forms中的Entry定义派生类:
public class CustomEntry : Entry
{
}
Android自定义条目渲染器:
[assembly: ExportRenderer(typeof(CustomEntry), typeof(CustomEntryRenderer))]
namespace MyProject.Android.Renderers
{
public class CustomEntryRenderer : EntryRenderer
{
public CustomEntryRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
var element = Element as CustomEntry;
if (element == null || Control == null) return;
Control.InputType = InputTypes.TextVariationUri | InputTypes.TextFlagCapWords;
}
}
}
iOS自定义条目渲染器:
[assembly: ExportRenderer(typeof(CustomEntry), typeof(CustomEntryRenderer))]
namespace MyProject.iOS.Renderers
{
public class CustomEntryRenderer : EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
var element = Element as CustomEntry;
if (Control == null || element == null) return;
Control.AutocapitalizationType = UITextAutocapitalizationType.Words;
Control.KeyboardType = UIKeyboardType.Url;
}
}
}