【发布时间】:2017-08-06 03:26:16
【问题描述】:
这个问题与这里已经提出的所有其他问题不同。
问题和疑问
我希望启用大写锁定,就像我在打开键盘时双击(或长按)shift 键一样。 另一个要求是,如果用户按下 shift 键,则必须禁用大写锁定。
我已经在 stackoverflow 中尝试了大多数建议的解决方案,例如 android:inputType="textCapCharacters" 或 setAllCaps(true) 但发生的情况是大写锁定可以不要被禁用。使用上述解决方案,当用户按下 shift 时,用户将插入一个小写字符,然后系统自动将键盘设置回大写锁定。
这不是我想要的正确方式,我只想让用户第一次打开键盘时启用大写,然后他将自己处理大写状态。
注意
请记住,我以“如果我双击(或长按)shift 键”开始问题,因为使用 inputType 解决方案您会遇到这种情况: 如果我手动启用大写锁定,则没有白色大写破折号:
【问题讨论】:
-
您可以通过设置 edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()}); 以编程方式实现此目的
-
使用
android:inputType="textCapCharacters"查看下面的答案 -
感谢@ShivanshuVerma 的尝试,但它的行为与 android:inputType="textCapCharacters" 相同:大小写始终位于上方,并且没有机会通过单击 shift 键来降低。
标签: android keyboard uppercase