I имеют следующую структуру:Как изменить цвет текста кнопки с форматированиемString во время выполнения?
<Button class="but_border but_text bluebg" flexGrow="1" #lol2>
<FormattedString>
<Span text="" fontFamily="FontAwesome, fontawesome-webfont" fontSize="20"></Span>
<Span text=" Identifícate con Facebook" ></Span>
</FormattedString>
</Button>
, который дает мне это:
И это, конечно, выглядит так, как я хочу его. Но я хочу, чтобы у моих кнопок было: нажатое состояние css с некоторым изменением цвета фона и цвета шрифта.
Это должно быть тривиально, чтобы сделать это с помощью CSS так:
.but {
color: white;
}
.but:pressed {
color: red;
}
И это работает, если я не использовать FormattedString, но если я делаю, это работает только на первой визуализации. После этого он не изменится ни на какое событие, или даже если я вручную изменю свойства класса или xml или CSS, рендеринг никогда не обновляется.
Я использую FormattedString, так как это единственный способ, которым я знаю, чтобы избегать Android CAPITALIZING всего текста нажатием кнопки. Я пробовал использовать декораторы текста, чтобы избежать этого, но я могу только CAPITALIZE, нижний регистр или Titleize, но я не могу оставить текст так, как есть, если ... Я использую FormattedString!
Другое дело, я использую FormattedString для является внедрение различных шрифтов в тексте (я использую FontAwesome значки на этом примере)
Даже если я дам FormattedString идентификатор, чтобы ссылаться на него из моего ts-кода, все же любое изменение, которое я делаю с его свойствами, не влияет на рендер. Если я обновить мой XML, как это: ' ' будет продолжено ... –
, а затем в своем классе : '@ViewChild ('lol') lol: ElementRef; togglePress = function (args: TouchGestureEventData) { console.log (args.view + ':' + args.action); let lol = это.lol.nativeElement; lol.foregroundColor = 'red'; } ' Я получаю события уволенными, но я вообще не получаю никаких изменений рендеринга ... –