【发布时间】:2017-10-17 03:46:44
【问题描述】:
【问题讨论】:
标签: xamarin xamarin.forms xamarin.android
【问题讨论】:
标签: xamarin xamarin.forms xamarin.android
您必须为 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 设备。它允许输入带小数点的负/正值。它正确地禁止输入错误的十进制值。
【讨论】:
TextBox 替换为 Entry。