gpt4 book ai didi

Android EditText,minus通过inputType ="number|numberSigned|numberDecimal"转换成点事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:26 24 4
gpt4 key购买 nike

我有一个用户拥有 LG VS890 4GAndroid 4.4.2。显然,每次当他试图在我的经纬度坐标输入 EditText 中插入一个减号时,他的减号都会被转换成一个点。如果他将负坐标粘贴到 EditText 中,他会遇到同样的问题。

        <EditText
android:id="@+id/long_degrees_et_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number|numberSigned|numberDecimal" >

问题是他只有在使用软键盘时才会遇到这种情况。在硬键盘上,它按预期工作。

这是他在尝试输入坐标时用手机截屏:

keyboard layout image

我知道这是一个 inputType 问题,因为我给了他一个没有 inputType 的构建并且它工作正常(除了他的键盘没有打开数字类型).

他是唯一报告此问题的人,我无法重现。我真的很想将输入类型保留为数字,以便键盘自动打开为数字。关于如何解决此问题的任何想法?

最佳答案

这个布局元素

<EditText
...
android:inputType="number|numberDecimal|numberSigned"
...
/>

应提供带有小数点和符号输入的数字键盘 View 。在我的大多数设备和模拟器上,'.'和“-”在不同的按钮上,在 Samsung Galaxy S5/SM-G900P/Android 4.4.2 上都是“.”和“-”奇怪地出现在同一个按钮上(如上图所示,在 LG 设备上,也是 4.4.2)。在某些设备上,弹出式键盘出现问题,因为它将符号和小数点都放在同一个按钮上。

但是,在字段的第一个字符上,如果您双击 (.-) 按钮,将输入一个符号而不是小数点。单击一次将输入一个小数点。难点在于放入一些文字来向您的用户解释该技巧。

也许这种设计是为了节省按钮空间而特意设计的。 (呃,我们不是刚刚降落在小行星上吗?)

使用此组合并不像您希望的那样有效:

android:inputType="number|numberSigned|numberDecimal"
android:digits="0123456789.-"

另外,不要使用 android:numeric="decimal"因为它是递减的,也不能解决问题。

@Adrian 建议 N/S W/E 是一个很好的补充,但是,不是替代方案,因为仍然需要 - 符号。有些用户认为是罗盘玫瑰,有些认为是 -/+。

一个解决方案是创建自定义 input method editor (IME). 这是一个 example custom KeyboardView

特定于纬度和经度坐标的条目:我将采用自定义 IME/KeyboardView 路线并对纬度/经度条目进行特定处理,因为每个字段也有范围值。

关于Android EditText,minus通过inputType ="number|numberSigned|numberDecimal"转换成点事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832709/

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