为EditText(Android)显示英文键盘

时间:2014-08-12 07:58:12

标签: android android-edittext android-softkeyboard multilingual

在我的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应用程序提供了多语言支持。 当我选择FRENCH,GERMAN,SPANISH和EditText等语言时,它会显示正确的英文键盘,如下所示: -

enter image description here

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

enter image description here

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

2 个答案:

答案 0 :(得分:0)

你可以尝试

input.setRawInputType(Configuration.KEYBOARD_QWERTY);

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

答案 1 :(得分:0)

可能为时已晚,我正面临与您相同的问题。

我想出了解决方法imeOptions="flagForceAscii,并且键盘将罗马字母字符作为第一要务。

希望它可以有所帮助。 forceAscii