Xamarin Entry Custom Renderer НЕ МОЖЕТ изменить цвет текста!Зачем? - PullRequest
0 голосов
/ 10 октября 2018

Этот контрольный пример НЕ СМОЖЕТ изменить цвет текста записи Xamarin.Я могу изменить задний цвет на несколько конкретных цветов ?? !!!На самом деле, независимо от того, что я делаю, я могу изменить цвет текста записи.

Как воспроизвести

  1. Visual Studio 2017 - Открытьновый кросс-платформенный проект / Net Standard Master-Detail / Android только для этой цели.

  2. Добавить запись пользовательского рендерера для вашего Android.Пример кода здесь:

    using Xamarin.Forms.Platform.Android;
    using Xamarin.Forms;
    using Android.Content;
    
    [assembly: ExportRenderer(typeof(Entry), typeof(MyCondoCPML.Droid.MyEntryRenderer))]
    namespace MyCondoCPML.Droid
    {
        class MyEntryRenderer : EntryRenderer
        {
            public MyEntryRenderer(Context context) : base(context)
            {
            }
    
            protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
            {
                base.OnElementChanged(e);
                if (Control != null) {
                    Control.SetTextColor(global::Android.Graphics.Color.Red);                    
                    Control.SetBackgroundColor(global::Android.Graphics.Color.LightGreen);
                }
            }
        }
    }
    
  3. RUN по USB на API 24 - версия Android 7 (Samsung S5 NEO)

Результат

Фон светло-зеленый, НО цвет текста ОСТАЕТСЯ ЧЕРНЫМ!ЗАЧЕМ?!Я перепробовал все.Лол.Пока вы, ребята, не скажете мне, что конечно ...

С уважением,

PS Да, я пробовал учебник по Xamarin / doc / samples / и т.д.Да, я читаю все, что могу, в стеке, в Google, в c # corner и т. Д. ... PPS Мое поведение также не может изменить цвет текста (красный): (

Martin

1 Ответ

0 голосов
/ 10 октября 2018

Чтобы изменить цвета, вы должны использовать:

//Text Color - When typing
 Control.SetTextColor(Android.Graphics.Color.SteelBlue);
//Placeholder text color
Control.SetHintTextColor(Android.Graphics.Color.Gray);  

Возможно, вам не хватает цвета текста подсказки.Остальное просто отлично, если у вас нет никаких исключений и если вызывается метод, другого способа добиться этого нет.Кроме того, в вашем xaml проверьте, не устанавливаете ли вы другой цвет.

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