如何在键盘中指定允许的字符?

How to specify allowed characters in keyboard?

我想为 android 和 iOS 平台创建一个用于 pin 输入的页面。 Numeric Keyboard 属性 中的规范很接近我的需要。我可以做类似 this 的事情来限制允许的字符和总长度。但是我需要去掉键盘上的点字符。我怎样才能做到这一点?

您可以删除软键盘上的圆点。

使用您链接的解决方案和 Keyboard="Numeric",您可以使用限制条目文本大小的相同 TextChanged 事件来限制“.”。

示例:

public void OnTextChanged(object sender, TextChangedEventArgs args)
{
    var e = sender as Entry;
    string val = e.Text;

    if (string.IsNullOrEmpty(val))
    {
        return;
    }

    if (MaxLength > 0 && val.Length > MaxLength)
    {
        val = val.Remove(val.Length - 1);
    }

    if (val.Contains("."))
    {
        val.Replace(".", string.Empty);    
    }
    e.Text = val;
}

其他选项 将为 PIN 创建 Grid。并在 Label 而不是 Entry 中显示 PIN,以避免粘贴。