c# – 禁用默认Android键盘上的按键

我的Xamarin应用程序主页上有一个Entry控件,用于输入一个人的年龄.我把键盘设置为Keyboard =“Numberic”

然而,这引起了混乱,因为对于Android至少,“完成”键位于退格区之下,但高于设置键和.-键.这意味着当用户试图按“完成”时,他们会忘记按键不在您想象的右下角,并且他们一直误按设置键并进入他们的手机设置,这有点刺激,可以理解.

是否可以禁用设置键和.-键,或者交换位置?我不期待它是可能的,所以在这种情况下,还有另一种方法可以解决这个问题吗?

屏幕截图以澄清我的意思 – 可以移动或禁用具有设置cog和“.-”的键,以防止用户打开他们的电话设置并将负数/十进制数放入?

enter image description here

解决方法:

我没有使用过C#,也从未使用过Android,但是从String中删除字符的想法是大多数语言通常很简单.

基于我们在评论中的小讨论,以及一些研究;我相信您正在寻找从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;

};

资源:
https://github.com/xamarin/recipes/tree/master/Recipes/android/controls/edittext/capture_user_input_text

我还没有找到一种方法来更改Android的键盘,这样你就可以删除不需要的键(即设置键)或重新排序,所以我仍然在想,如果你决定必须这样做,你需要建立一个自定义应用程序的键盘.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...