具有表情符号按钮的自定义条目渲染器(Keyboard.Chat)

时间:2018-10-03 09:56:57

标签: c# xamarin.forms

如何使用表情符号(聊天)按钮创建自定义entryrenderer,就像Xamarin.Forms Entry(使用Keyboard.Chat)中的那个一样

enter image description here

1 个答案:

答案 0 :(得分:2)

如果要构建自定义条目呈现器,则必须应用Xamarin.Forms用于确定目标本机输入字段的输入类型的相同逻辑。

Android

从Xamarin.Forms source code

else if (self == Keyboard.Chat)
   result = InputTypes.ClassText | InputTypes.TextFlagCapSentences | 
            InputTypes.TextFlagNoSuggestions;

result的类型为InputTypes,然后将其设置为Android Entry control's InputType

Control.InputType = keyboard.ToInputType();

iOS

从Xamarin.Forms source code

else if (keyboard == Keyboard.Chat)
{
    textInput.AutocapitalizationType = UITextAutocapitalizationType.Sentences;
    textInput.AutocorrectionType = UITextAutocorrectionType.Yes;
}

textInputIUITextInput的地方。

UWP 从Xamarin.Forms source code

else if (self == Keyboard.Chat)
{
    name.NameValue = InputScopeNameValue.Chat;
}

其中nameKeyboard类型的实例。但是,这就是set directly in EntryRenderer

Control.InputScope = entry.Keyboard.ToInputScope();

为简化起见,您可以这样做:

Control.InputScope = InputScopeNameValue.Chat;

WPF

这里Xamarin.Forms设置了默认的输入类型,因为没有特殊的聊天键盘选项。