【问题标题】:android:inputType="textEmailAddress" - '@' key and a '.com' key?android:inputType="textEmailAddress" - '@' 键和 '.com' 键?
【发布时间】:2011-07-23 08:34:36
【问题描述】:

我有一个 EditText,我在其中设置了 inputType="textEmailAddress"。我的理解是,这应该会带来一个更适合输入电子邮件地址的软键盘。

在 IMF Android IMF 的博客条目中,显示了用于撰写电子邮件的特定图像,其中软键盘包含用于输入电子邮件地址的“@”键。

但是在这个特殊的answer 中,显示的软键盘除了“@”键之外还显示了一个“.com”键。

这个 '.com' 键是 android:inputType="textEmailAddress" 的默认键吗?还是涉及到一些设置?

【问题讨论】:

    标签: android keyboard


    【解决方案1】:

    真的没有“默认”。 android:inputType 只是对您的 IME 的提示。现在 IME 可能是普通的 Android 1.1 键盘、Android 2.0 键盘、HTC Sense 键盘、SwiftKey、Swype,应有尽有。每个人都可以自行决定是否添加“.com”键(或完全忽略inputType)。

    【讨论】:

    • 谢谢。想知道为什么 .com 密钥没有在我的模拟器中弹出(在 Google API 3、8、10 中尝试过,但只有 '@' 对所有 3 来说都是通用的)。我真的认为 '.com' 是 inputType="textEmailAddress" 的逻辑键,当它没有出现在我的测试中时,我在某处缺少一些东西
    【解决方案2】:

    试试这个,可能对你有帮助

    editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
    

    【讨论】:

    • 通常推荐 +1 用于“为我工作”,这对我来说确实有效,但在这种情况下,也许更多一点会有所帮助。我有一个带有“InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS”的电子邮件字段的应用程序。它适用于大多数测试手机,但不是。在这款手机中,软键盘上既没有@也没有.COM。此更改在通常的位置添加了 @ 键(“.com”没有空间)。简单,不明显,并且有很大的改进!
    【解决方案3】:

    Android 自己的 SDK 有一个使用 inputType 修改行为的例子(见:http://developer.android.com/resources/samples/SoftKeyboard/src/com/example/android/softkeyboard/SoftKeyboard.html

    有趣的是,KeyEvent 没有针对问题中的“.com”键的特定键码。我假设它为此目的使用了一个未使用的密钥代码。

    【讨论】:

    • 谢谢。将通过它进行参考。只是想知道这个 .com 键实际上是如何出现在我问题的参考答案中的。我认为这个键成为 inputType="textEmailAddress" 软键盘的一部分是合乎逻辑的,但由于某种原因,我没有在我的模拟器中得到它
    • KeyEvent 用于低级输入。 .com 是 IME 中的高级按钮,在自动完成和其他 IME 功能运行的级别上工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    相关资源
    最近更新 更多