Xamarin Forms 数字键盘 - 启用 space 和破折号按钮
Xamarin Forms Numeric Keyboard - enable space and dash buttons
我有一个要求,允许 Xamarin Forms 应用程序中的字段仅包含数字、space 和破折号。数字键盘布局似乎非常适合此目的 - 唯一的麻烦 - space 和破折号按钮似乎不起作用?有什么方法可以启用这些,特别是在 Android - 因为这是主要目标平台。
有问题的按钮已突出显示。
<Entry
x:Name="BarcodeEntry"
Margin="12,0"
HeightRequest="40"
Placeholder="Barcode"
Style="{StaticResource BorderlessEntryStyle}"
Keyboard="Numeric"
Text="{Binding Barcode.Value, Mode=TwoWay}">
控件绑定到此 属性:
private string _barcode;
public string Barcode
{
get => _barcode;
set { SetProperty(ref _barcode, value); }
对于数字键盘,我们只有四种相关的 InputType。
- number:只有数字的字段。
- numberDecimal:可以与 number 及其其他选项结合使用以允许使用小数(小数)。
- numberPassword:数字密码字段。
- numberSigned:可以与 number 及其其他选项结合使用以允许签名号码。
关于InputTypes的更多详细信息,您可以参考下面的link。 https://developer.android.com/reference/android/widget/TextView#attr_android:inputType
如果您想使用 space 和破折号按钮,您可以使用电话键盘。或者您可以创建自己的自定义键盘。
自定义键盘:Numeric keyboard as default on Xamarin.Forms, but allow text (cross platform)
我有一个要求,允许 Xamarin Forms 应用程序中的字段仅包含数字、space 和破折号。数字键盘布局似乎非常适合此目的 - 唯一的麻烦 - space 和破折号按钮似乎不起作用?有什么方法可以启用这些,特别是在 Android - 因为这是主要目标平台。
有问题的按钮已突出显示。
<Entry
x:Name="BarcodeEntry"
Margin="12,0"
HeightRequest="40"
Placeholder="Barcode"
Style="{StaticResource BorderlessEntryStyle}"
Keyboard="Numeric"
Text="{Binding Barcode.Value, Mode=TwoWay}">
控件绑定到此 属性:
private string _barcode;
public string Barcode
{
get => _barcode;
set { SetProperty(ref _barcode, value); }
对于数字键盘,我们只有四种相关的 InputType。
- number:只有数字的字段。
- numberDecimal:可以与 number 及其其他选项结合使用以允许使用小数(小数)。
- numberPassword:数字密码字段。
- numberSigned:可以与 number 及其其他选项结合使用以允许签名号码。
关于InputTypes的更多详细信息,您可以参考下面的link。 https://developer.android.com/reference/android/widget/TextView#attr_android:inputType
如果您想使用 space 和破折号按钮,您可以使用电话键盘。或者您可以创建自己的自定义键盘。
自定义键盘:Numeric keyboard as default on Xamarin.Forms, but allow text (cross platform)