Эмодзи в редакторе - PullRequest
       4

Эмодзи в редакторе

0 голосов
/ 03 февраля 2020

Я работаю над приложением чата с использованием форм xamarin (что я новичок в этом), что происходит, когда я нажимаю на это окно редактора, я не могу видеть значок Emoji в этом пользовательском редакторе. Как исправить этот сценарий, какие-либо предложения ??

вот пример использования системы управления

вот вариант использования пользовательского элемента управления вышеуказанная функциональность отсутствует

это пользовательский редактор, который я использовал ::

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;
        }
    }
}

1 Ответ

1 голос
/ 03 февраля 2020

Следующая строка в вашем коде является причиной того, что значок эмодзи не отображается.

this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);

При снятии флажка отображается значок эмодзи. Но, тем не менее, флаг «Нет предложений» теряется. Я попытался найти в Интернете альтернативу, но не смог найти. Надеюсь, вы узнаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...