gpt4 book ai didi

android - 如何将 InputType=numberDecimal 与 "phone"软键盘一起使用?

转载 作者:IT老高 更新时间:2023-10-28 23:10:48 27 4
gpt4 key购买 nike

对于 EditText 框,用户应该只输入有效数字,所以我使用的是 android:inputType="numberDecimal" 。不幸的是,Android 提供的软键盘只有顶行有数字,而接下来的三行有各种其他符号(美元符号、百分号、感叹号、空格等)。由于 numberDecimal 只接受数字 0-9、负号和小数点,因此使用“电话”软键盘(3x3 网格中的 0-9,加上一些其他符号)会更有意义。这将使按钮更大,更容易点击(因为它是 4x4 网格,而不是同一屏幕区域中的 10x4 网格)。不幸的是,使用 android:inputType="phone" 允许使用括号等非数字字符

我尝试使用 android:inputType="numberDecimal|phone" ,但位标志的 numberDecimal 方面似乎被忽略了。我也尝试过将 android:inputType="phone"android:digits="0123456789-." 结合使用,但这仍然允许多个负号或小数点( inputType="number" 对此类事情的错误检查非常好,甚至不会让用户输入)。我也尝试在 xml 布局文件中使用 android:inputType="phone" ,同时在 java 代码中使用 DigitsKeyListener ,但随后只使用默认数字软键盘(仅在顶行有数字的键盘)(它似乎设置 InputType.TYPE_CLASS_NUMBER ,其中使 xml 布局设置的 InputType.TYPE_CLASS_PHONE 无效)。

编写自定义 IME 是行不通的,因为用户必须选择 IME 作为应用程序外部的全局选项。

有什么方法可以使用“电话”式软键盘,同时对输入的内容使用“数字”限制?

最佳答案

我遇到了同样的问题。这对我有用:

<item name="android:inputType">numberDecimal</item>
<item name="android:digits">0123456789.</item>

希望这对您有所帮助。

关于android - 如何将 InputType=numberDecimal 与 "phone"软键盘一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2830664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com