无法通过数字键盘使用小数(Android 上的 Xamarin Forms)

2024-03-13

我已经尝试了几个论坛上给出的几种解决方案,也在 Xamarin 论坛上提问,但都没有结果:我想在 Xamarin Forms 中创建一个条目,用户可以在其中添加十进制数。问题是我的数字键盘禁用了逗号。

我可以使用自定义渲染器添加点,但由于我住在荷兰,我还需要选择使用逗号。我在三星 Galaxy S10 上进行了测试,但它无法正常工作,原因不明。

我创建了一个演示供您查看,但由于我无法在此处上传任何文件,您可以在我在 Xamarin 论坛上创建的线程中找到它(演示文件 https://us.v-cdn.net/5019960/uploads/editor/06/occpl8zvh7qu.zip)。也许这里有人可以弄清楚我需要做什么..

提前致谢。


尝试任何其他制造商,张嘉文的答案将会起作用。但是三星数字键盘总是显示一个点,没有办法改变它。互联网上有数百人想要同样的东西,不仅对于 Xamarin,而且对于原生 Android(例如三星 Galaxy Note II - 逗号作为数字键盘小数分隔符 https://stackoverflow.com/questions/26983521/samsung-galaxy-note-ii-comma-as-numeric-keyboard-decimal-separator)。 我最终在 TextChanged 事件中用逗号替换了每个点(在 Xamarin.Forms 代码中)...

Text = Text.Replace(".", ",")

如果三星数字键盘在点上方显示减号,则表示它已签名。您可以使用自定义渲染器摆脱它:

if (Android.OS.Build.Manufacturer.Equals("Samsung", StringComparison.CurrentCultureIgnoreCase))
        {
            Control.InputType = InputTypes.ClassNumber | InputTypes.NumberFlagDecimal;
        }
        else
        {
            Control.KeyListener = DigitsKeyListener.GetInstance("1234567890,");
        }

唯一的其他选择是安装另一个键盘,请参阅上面链接的问题...

编辑:在尝试寻找其他失败尝试的好例子时(哈哈)我发现了这个被接受的答案:https://forums.xamarin.com/discussion/175286/samsung-numeric-keyboard-makes-me-cry https://forums.xamarin.com/discussion/175286/samsung-numeric-keyboard-makes-me-cry我的家庭办公室没有三星设备,因此无法测试,但也许可以尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法通过数字键盘使用小数(Android 上的 Xamarin Forms) 的相关文章

随机推荐