我的Xamarin应用程序主页上有一个Entry
控件,用于输入一个人的年龄。我已将键盘设置为Keyboard="Numberic"
然而,这引起了混乱,因为对于Android至少,“完成”键位于退格区之下,但高于设置键和.-键。这意味着当用户试图按“完成”时,他们会忘记按键不在您想象的右下角,并且他们一直误按设置键并进入他们的手机设置,这有点刺激,可以理解。
是否可以禁用设置键和.-键,或者交换位置?我不希望它成为可能,所以在这种情况下,还有另一种方法可以解决这个问题吗?
屏幕截图以澄清我的意思 - 可以移动或禁用具有设置cog和“.-”的键,以防止用户打开他们的电话设置并将负数/十进制数放入?
答案 0 :(得分:0)
我没有使用过C#,而且从未使用过Android,但是从字符串中删除字符的想法大多数语言通常很简单。
基于我们在评论中的小讨论,以及一些研究;我相信您正在寻找从EditText字段中删除不需要的值,其中用户的输入在您的应用程序中:
var editText = FindViewById<EditText> (Resource.Id.editText);
editText.TextChanged += (object sender, Android.Text.TextChangedEventArgs et) => {
//step 1 grab editText value
String newString = et.Text.ToString();
//step 2 replace unwanted characters (currently '.' & '-')
newString = newString.Replace(".", "").Replace("-", "");
//step 3 set the editText field to the updated string
editText.Text = newString;
};
我还没有找到更改Android默认键盘的方法,因此您可以删除不需要的键(即设置键)或重新排序,所以我仍在考虑如果您决定必须这样做,则需要为应用程序构建自定义键盘。