我有inputType
设置为textEmailAddress
的编辑文字,我无法阻止键盘显示文字建议。我想使用这个标志,以便@符号显示在第一组键盘字符中,但我不希望出现建议,因为它们占用屏幕上的大量空间并弄乱用户体验。
这是我正在使用的代码:
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:hint="@string/common_email"
android:imeOptions="actionDone"
android:inputType="textEmailAddress"
/>
我尝试将inputType
更改为
android:inputType="textNoSuggestions|textEmailAddress"
和
android:inputType="textVisiblePassword|textEmailAddress"
但它不起作用。似乎在使用时,textEmailAddress
会覆盖其他标志所做的任何事情。
有没有办法让键盘显示@符号但不显示建议?
答案 0 :(得分:2)
无法绝对确保键盘不显示建议。键盘可以完全控制它们显示的内容,包括建议。你发送的任何东西只是暗示它应该做什么,不同的键盘可以解释或忽略这些提示。
textVisiblePassword | textEmailAddress不起作用 - 它们都指定了主要类型。结果将是他们的位的ORing,你会得到一些非常奇怪的东西。 textNoSuggestions是最好的选择。如果这不起作用,那么该键盘要么从不尊重任何建议,要么不对电子邮件字段不予支持。
至于显示@ sign-同样的交易。键盘控制它们显示的键。对于不同的模式,它们可能会稍微改变,但是没有办法强制显示特定的键。
作为旁注 - 我不确定关闭电子邮件的建议是正确的做法。许多键盘会将联系人中的所有电子邮件地址添加到其词典中。许多用户会将自己的电子邮件添加到字典中以填写表单。许多电子邮件地址都是常见词汇的组合。根据电子邮件模式的键盘有多好,能够进行自动更正是一种更好的体验。
答案 1 :(得分:0)
尝试一下,它对我有用。
android:importantForAutofill =“否”