【问题标题】:Can I prevent keyboard suggestions from Xamarin.forms我可以阻止来自 Xamarin.forms 的键盘建议吗
【发布时间】:2017-05-11 08:42:00
【问题描述】:

我正在尝试使用 xamarin.forms 开发 Android 应用程序,并且需要阻止文本字段上的完成建议。在 vanilla Android 中,我会将 inputtype 设置为 type_text_flag_no_suggestions。我可以使用 xaml 从 xamarin.forms 执行此操作吗?

【问题讨论】:

    标签: android xamarin.forms


    【解决方案1】:

    在为页面构建用户界面的代码中,将Keyboard 属性添加到Entry,并使用Create 方法指定KeyboardFlags 枚举的None 常量。这指定不会为用户输入的文本提供建议的单词补全。

    Content = new StackLayout {
        Padding = new Thickness(0,20,0,0),
        Children = {
            new Entry { Keyboard = Keyboard.Create(KeyboardFlags.None) }
        }
    };
    

    注意:这个标志也会禁用你的other flags

    documentation 未更新,但现在添加了此标志检查github

    其他参考资料:

    1. https://stackoverflow.com/a/26978071/3758024
    2. https://developer.xamarin.com/recipes/cross-platform/xamarin-forms/controls/choose-keyboard-for-entry/#Specifying_additional_keyboard_options

    【讨论】:

    【解决方案2】:

    您的意思是当您在Entry 中输入文本时,您想禁用键盘上显示的建议。在您的 XAML 代码中,只需在您的 Entry 中添加属性 Keyboard="Email"

    所以最后你的代码看起来像

    <Entry Placeholder="Enter the word" Keyboard="Email" />
    

    希望这能回答问题。

    【讨论】:

    • 您能否解释一下为什么您建议在这种情况下使用电子邮件类型的键盘,而实际上并未指定它是电子邮件字段?这个标志的行为在这里如何合适?
    • @iBobb,提出的问题表明用户希望阻止文本字段上的完成建议,即 Xamarin 表单中的 Entry。因此,当EntryKeyboard 属性设置为Keyboard="Email" 时,不会显示键盘建议。你为什么不尝试检查一下。
    • 我只是想让像我这样的路人清楚,这是一种“解决方法”,因为这里的语义电子邮件不正确。提到Entry 类型的Keyboard 没有提供任何建议,因此使用,正是使这一点变得清晰的原因,所以谢谢你。为了进一步解释,XF 根本没有提供 Android 提供的更合适的textNoSuggestions,我认为我们可以同意这更有意义并且不会引起任何混淆。当我阅读文档和 SO 时,我看到有人建议使用 Plain
    猜你喜欢
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多