2015-09-04 2 views
3

Я хочу, чтобы цвет текста кнопки был одинаковым как на iOS, так и на Android. Поэтому я думал, что просто установил свойство TextColor в коде цвет, который мне нужен. В iOS цвет отключенного текста по-прежнему остается серым (что то, что я хочу), однако на Android цвет отключенного текста совпадает с цветом включенного текста. Как сделать цвет отключенного текста на Android-сером (или его по умолчанию для отключенной кнопки)? ThanksКнопка Xamarin Forms TextColor ведет себя по-разному на Android, чем iOS

+0

Использовать собственные средства визуализации: https://stackoverflow.com/a/49193488/1039935 – Arvis

ответ

7

Это поведение по умолчанию в Xamarin.Forms. Чтобы обойти это, и достичь пользовательского цвета, вы можете:

  • Использование триггеров для изменения цвета при переходе из разрешающего инвалидов и наоборот
  • вручную установить цвет при включении и отключении кнопки
  • используйте специальный рендерер

Поскольку триггеры являются наиболее простым и последовательным способом достижения того, что вы хотите, я только обложу это. Вы можете увидеть xamarin docs для получения дополнительной информации о настраиваемых средствах визуализации.

С помощью триггеров вы можете динамически изменять цвет шрифта до серого, когда он не включен. Дополнительную информацию о триггерах см. В разделе docs.

<Button Text="I am a Button"> 
<Button.Triggers> 
    <Trigger TargetType="Button" 
     Property="IsEnabled" Value="true"> 
     <Setter Property="TextColor" Value="Red" /> 
     <!-- red is the desired color when the button is enabled.--> 
    </Trigger> 
    <Trigger TargetType="Button" 
     Property="IsEnabled" Value="false"> 
     <Setter Property="TextColor" Value="Gray" /> 
     <!-- gray is the desired color when the button is disabled.--> 
    </Trigger> 
</Button.Triggers> 
</Button> 
+0

Это отлично поработало. Большое спасибо. –

+1

его не работает .. –

+0

его не работает для меня также. Любое обновление? – Sudha

0

Если выше не работает для вас, попробуйте установить this workaround. Он использует собственный рендерер и NSAttributedString для настройки заголовка в отключенном состоянии

 Смежные вопросы

  • Нет связанных вопросов^_^