【问题标题】:show English keyboard for EditText(Android)显示 EditText(Android) 的英文键盘
【发布时间】:2014-10-05 05:04:11
【问题描述】:

在我的 android 应用程序中,我使用 EditText 从用户那里获取文本输入。 我希望 EditText 只接受选择性字符,因为在 xml 文件中我提到了 EditText 的以下属性。

android:digits="@string/customDigits"

strings.xml 中提到了 customDigits

<string name="customDigits">\u0022;\u005C;&amp;&lt;&gt;&#92; abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%\'()*+,-./:;=?@[]_`{};|~^"*"</string>

我为我的 android 应用程序提供了多语言支持。 当我选择法语、德语、西班牙语和 EditText 等语言时,它会显示正确的英文键盘,如图所示:-

但是当我选择日语并且 EditText 处于焦点时,它会显示日语键盘,如图所示:-

但我想默认显示英文键盘。 请给我解决方案。

【问题讨论】:

    标签: android android-edittext android-softkeyboard multilingual


    【解决方案1】:

    可能为时已晚,我和你面临同样的问题。

    我想出了解决方案imeOptions="flagForceAscii 和显示罗马字母字符的键盘作为第一优先级。

    希望它能以某种方式提供帮助。 forceAscii

    【讨论】:

      【解决方案2】:

      你可以试试

      input.setRawInputType(Configuration.KEYBOARD_QWERTY);
      

      但从用户体验的角度来看,我想说你不应该在这里“修复”任何东西。如果用户决定他想要日语,他会得到日语。您期望某些字符,但这与用户语言设置或他使用的键盘类型无关。这真的不符合您的兴趣 - 如果输入失败,请拒绝他的输入,并确保错误消息(或 UI)清楚地表明您希望在该 EditText 中输入 ASCII(或其他)。

      【讨论】:

      • 感谢您的回复。“setRawInputType”不适合我。我想我应该去自定义键盘。
      猜你喜欢
      • 1970-01-01
      • 2015-02-09
      • 2013-08-23
      • 2021-01-27
      • 1970-01-01
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多