Xamarin.forms 如何实现只使用表情键盘输入?

Xamarin.forms 如何实现只使用表情键盘输入?,xamarin.forms,keyboard,emoji,Xamarin.forms,Keyboard,Emoji,我想实现自定义输入(Xamarin.forms),当用户聚焦输入时,设备将显示表情键盘。简短回答 不幸的是,由于Android和iOS平台的限制,不创建自己的键盘是不可能的 长答案 iOS上的默认行为是在键盘底部显示表情键盘图标。因此,它离用户只有一次点击: Android上的默认行为似乎略有不同,并且表情键盘在默认情况下是隐藏的: 幸运的是,通过将InputType设置为Android.Text.InputTypes.TextVariationShortMessage | Android.

我想实现自定义输入(Xamarin.forms),当用户聚焦输入时,设备将显示表情键盘。

简短回答

不幸的是,由于Android和iOS平台的限制,不创建自己的键盘是不可能的

长答案

iOS上的默认行为是在键盘底部显示表情键盘图标。因此,它离用户只有一次点击:

Android上的默认行为似乎略有不同,并且表情键盘在默认情况下是隐藏的:


幸运的是,通过将
InputType
设置为
Android.Text.InputTypes.TextVariationShortMessage | Android.Text.InputTypes.ClassText
,可以很容易地放置表情键盘图标:

如果您仍希望在默认情况下显示表情键盘,恐怕您必须实现自己的键盘视图。根据您的需要,您可以添加一些表情符号作为按钮等。

自定义键盘

用户与条目交互时显示的键盘可以通过键盘属性以编程方式设置为键盘类中的以下属性之一:

  • 聊天–用于发短信和使用表情符号的地方
  • 默认–默认键盘
  • 电子邮件–输入电子邮件地址时使用
  • 数字–输入数字时使用
  • 纯–输入文本时使用,不指定任何键盘标志
  • 电话–输入电话号码时使用
  • 文本–输入文本时使用
  • Url–用于输入文件路径和web地址
这可以在XAML中实现,如下所示:

<Entry Keyboard="Chat" />
var entry = new Entry { Keyboard = Keyboard.Chat };