Александр Клопоцкий Posted January 22, 2020 Posted January 22, 2020 Хочу сделать текстовую метку TfgLabel - ссылкой. Выставляю свойство LinksTypes.WebLinks := True. При загрузке приложения в телефон, текст метки не виден, белый. При нажатии на нее идет переход по адресу ссылки, ссылка работает, но подпись, которая в TfgLabel.Text не отображается. Если свойство LinksTypes.WebLinks := False, убрать ссылку и оставить простую текстовую метку, при загрузке приложения в телефон она видна. Как сделать, чтобы текстовая метка TfgLabel была ссылкой, и текст метки отображался установленным цветом?
Administrators Yaroslav Brovin Posted January 22, 2020 Administrators Posted January 22, 2020 Вы все правильно делаете. Но я не могу воспроизвести ошибку. Вот прикрепляю проект, на котором я тестировал. Возможно у вас есть еще что-то дополнительное, что может на это влиять. Поэтому было бы здорово, если бы вы прикрепили тестовый проект, где воспроизводится, описанная проблема. LabelLinkDemo.zip
Александр Клопоцкий Posted January 22, 2020 Author Posted January 22, 2020 Запустил ваш "LabelLinkDemo.zip". Тоже, в текстовой метке при "LinksTypes.WebLinks := True" текст метки не отображается. Если в текстовой метке убираю это свойство "LinksTypes.WebLinks := False", то текст метки отображается. Записал я загрузку проекта в телефон на видео: Возможно у меня телефон древний: "Xiaomi Redmi Note 3 Pro":
Administrators Yaroslav Brovin Posted January 22, 2020 Administrators Posted January 22, 2020 Не уж то баг Андроида. А у вас есть девайс на более свежей версии Андроида?
Александр Клопоцкий Posted January 23, 2020 Author Posted January 23, 2020 То же самое на Андроид 9. Телефон: "Samsung Galaxy J7".
Александр Клопоцкий Posted January 23, 2020 Author Posted January 23, 2020 (edited) Отозвался ваш проект. Когда нажимаю на место текстовой метки, она окрашивается цветом fgLabel.LinkColor и идет переход по адресу ссылки, после возвращения в приложение ссылка уже видна. Похоже fgLabel подхватывает цвет только в момент обращения к ней. Если в текстовой метке свойство LinksTypes.WebLinks := False, то она "не кликабельна", в fgLabel применяется цвет fgLabel.Color. Когда мы присваиваем свойство LinksTypes.WebLinks := True, то она становится "кликабельна", ожидает нажатия на себя, но fgLabel еще не применяет цвет fgLabel.LinkColor, и уже не применяет цвет fgLabel.Color. (цвету текста метки присваивается цвет фона). И только когда мы нажмем на нее, по нажатию переопределяется цвет метки на fgLabel.LinkColor. VID_20200123_085838.mp4 Edited January 23, 2020 by Александр Клопоцкий
Administrators Yaroslav Brovin Posted January 25, 2020 Administrators Posted January 25, 2020 Ок, понял. Спасибо.
Administrators Viktor Akselrod Posted February 28, 2020 Administrators Posted February 28, 2020 В 23.01.2020 в 08:19, Александр Клопоцкий сказал: Когда нажимаю на место текстовой метки, она окрашивается цветом fgLabel.LinkColor и идет переход по адресу ссылки, после возвращения в приложение ссылка уже видна. Похоже fgLabel подхватывает цвет только в момент обращения к ней. К такому поведению приводит сочетание некоторых свойств нативного контрола, и с очень большой вероятностью это баг в самом андроиде. Пока, как временное решение, могу предложить выставить свойство TfgLabel.LineBreak в TfgTextLineBreak.CharacterWrap или TfgTextLineBreak.WordWrap (по умолчанию TfgTextLineBreak.None). 2
Recommended Posts