自定义编辑器中的表情符号
Emoji in custom Editor
我正在使用 xamarin 表单开发聊天应用程序(我是新手),发生的事情是,当我点击那个编辑器框时,我无法在那个自定义编辑器中看到表情符号图标。如何纠正这种情况有什么建议吗??
here is system control use case
here is Custom control use case 以上功能缺失
这是我用过的自定义编辑器::
ScrollView Padding="3,2,3,2" Margin="0" VerticalScrollBarVisibility="Never">
<controls2:CustomEditor x:FieldModifier="Public" PlaceholderColor="LightGray" Placeholder="Type a message" AutoSize="TextChanges" x:Name="SendMessage" IsSpellCheckEnabled="True" HorizontalOptions="FillAndExpand"
VerticalOptions="StartAndExpand" Margin="0" FontSize="16" Text="{Binding SendMessageText}" Keyboard="Chat" TextColor="Black"/>
</ScrollView>
关于代码::
public class CustomEditor : Editor
{
public CustomEditor()
{
TextChanged += OnTextChanged;
}
~CustomEditor()
{
TextChanged -= OnTextChanged;
}
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
InvalidateMeasure();
}
}
Android 编辑器渲染代码::
public class CustomEditorRenderer : EditorRenderer
{
public CustomEditorRenderer(Context context) : base(context)
{
}
[System.Obsolete]
protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
{
base.OnElementChanged(e);
if (Control != null)
{
GradientDrawable gd = new GradientDrawable();
gd.SetColor(global::Android.Graphics.Color.Transparent);
this.Control.SetBackgroundDrawable(gd);
this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
Control.Background = new ColorDrawable(Android.Graphics.Color.Transparent);
Control.VerticalScrollBarEnabled = false;
Control.NestedScrollingEnabled = false;
}
}
}
您代码中的以下行是表情图标未显示的原因。
this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
删除标志设置显示表情符号。但是,No suggestion 标志行为丢失了。我尝试在网上搜索替代方案,但找不到。希望你能发现。
我正在使用 xamarin 表单开发聊天应用程序(我是新手),发生的事情是,当我点击那个编辑器框时,我无法在那个自定义编辑器中看到表情符号图标。如何纠正这种情况有什么建议吗??
here is system control use case
here is Custom control use case 以上功能缺失
这是我用过的自定义编辑器::
ScrollView Padding="3,2,3,2" Margin="0" VerticalScrollBarVisibility="Never">
<controls2:CustomEditor x:FieldModifier="Public" PlaceholderColor="LightGray" Placeholder="Type a message" AutoSize="TextChanges" x:Name="SendMessage" IsSpellCheckEnabled="True" HorizontalOptions="FillAndExpand"
VerticalOptions="StartAndExpand" Margin="0" FontSize="16" Text="{Binding SendMessageText}" Keyboard="Chat" TextColor="Black"/>
</ScrollView>
关于代码::
public class CustomEditor : Editor
{
public CustomEditor()
{
TextChanged += OnTextChanged;
}
~CustomEditor()
{
TextChanged -= OnTextChanged;
}
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
InvalidateMeasure();
}
}
Android 编辑器渲染代码::
public class CustomEditorRenderer : EditorRenderer
{
public CustomEditorRenderer(Context context) : base(context)
{
}
[System.Obsolete]
protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
{
base.OnElementChanged(e);
if (Control != null)
{
GradientDrawable gd = new GradientDrawable();
gd.SetColor(global::Android.Graphics.Color.Transparent);
this.Control.SetBackgroundDrawable(gd);
this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
Control.Background = new ColorDrawable(Android.Graphics.Color.Transparent);
Control.VerticalScrollBarEnabled = false;
Control.NestedScrollingEnabled = false;
}
}
}
您代码中的以下行是表情图标未显示的原因。
this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
删除标志设置显示表情符号。但是,No suggestion 标志行为丢失了。我尝试在网上搜索替代方案,但找不到。希望你能发现。