答案 0 :(得分:1)
您必须为NumericEntry创建自己的控件,如:
public class NumericTextBox : Entry
{
public NumericTextBox()
{
this.Keyboard = Keyboard.Numeric;
}
}
然后,在您的Android项目中,创建自定义渲染器:
[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设备。它允许输入带小数点的负值/正值。它正确禁止输入错误的十进制值。