首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将键盘设置为数字小键盘,是否可以在Xamarin.Forms中输入负数?

问如何将键盘设置为数字小键盘,是否可以在Xamarin.Forms中输入负数?
EN

Stack Overflow用户
提问于 2017-10-17 11:46:44
回答 1查看 2.6K关注 0票数 0

该要求是显示键盘的默认数字,可以像这样输入一个负数:

​

​

但是没有办法为这种方式设置默认值。

如果你设置了这个键盘,你不能输入负数,点击减号是不响应的。

纯数字键盘,但不能输入负数

​

​

有什么解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-17 23:39:06

您必须为NumericEntry创建自己的控件,如下所示:

代码语言:javascript
复制
public class NumericTextBox : Entry
{
    public NumericTextBox()
    {
        this.Keyboard = Keyboard.Numeric;
    }
}

然后,在Android项目中,创建自定义渲染器:

代码语言:javascript
复制
[assembly: ExportRenderer(typeof(NumericTextBox), typeof(CustomNumericTextboxRenderer))]

namespace xxx.Droid.Renderers
{
    public class CustomNumericTextboxRenderer : EntryRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged(e);

            var native = Control as EditText;

            native.InputType = Android.Text.InputTypes.ClassNumber | Android.Text.InputTypes.NumberFlagSigned | Android.Text.InputTypes.NumberFlagDecimal;
        }
    }
}

这已经在Droid设备上进行了测试和工作。允许输入带小数点的负数/正数。它正确地防止了输入错误的十进制值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46782149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档