在 Xamarin.Forms 条目视图中使用仅英文键盘
Posted
技术标签:
【中文标题】在 Xamarin.Forms 条目视图中使用仅英文键盘【英文标题】:Using an English only keyboard in a Xamarin.Forms Entry view 【发布时间】:2016-11-13 02:56:51 【问题描述】:和标题说的差不多。
我的 Xamarin.Forms 应用中有一个包含条目视图的页面。 点击它会弹出软件键盘,在所有基于文本的键盘设置(如 url、电子邮件、文本等)下,可以选择更改输入语言。
我的问题是我的后端只接受英语,这也是我想要的方式,但我找不到禁用键盘上语言选择的方法。 有人知道吗?
我正在使用 Xamarin.Forms,上面的描述与在 android 设备上的使用有关,我尚未在 ios 上进行测试。
我希望有一个可以在 PCL 中使用的跨平台解决方案,但是如果不存在 XForms 解决方案,使用自定义渲染器的解决方案也是可以接受的。
谢谢!
【问题讨论】:
我不相信这是可能的。虽然我相信它可能在 Android 和 Windows Phone 上是可能的,但我很难相信 iOS 会允许您将用户锁定到特定的键盘。所以如果我是你,我会接受 Avi K 的建议。 【参考方案1】:您可以执行其他操作以仅启用英文字符 - 您可以连接到条目的文本更改事件并检查内部文本是否为英文。
你可以这样做:
private void MyEntry_TextChanged(object sender, TextChangedEventArgs e)
var newText = ((Entry)sender).Text;
// Check for english characters.
...
// If not english, put the old value
((Entry)sender).Text = e.OldTextValue;
【讨论】:
嗯,是的,但是这种方法非常hacky =\ 有一个备用方案很好,但我正在寻找可以在UI 中指示不支持其他语言的东西。不过,感谢您的意见。以上是关于在 Xamarin.Forms 条目视图中使用仅英文键盘的主要内容,如果未能解决你的问题,请参考以下文章
不应在其焦点上显示软键盘的 Xamarin.Forms 条目
Xamarin Forms - 防止键盘在 UWP、Android、iOS 中的条目焦点上显示
Xamarin.Forms 条目 - 自定义行为和 MVVM