在 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

Xamarin.Forms 仅在一个平台 (iOS) 上更改条目的占位符颜色和文本颜色

条目渲染不在iOS Xamarin Forms中添加下划线

Xamarin Forms - iOS 上的键盘覆盖条目(文本字段)