Jump to content
  • Status: Reported
  • Priority: Normal
  • Resolution: Unresolved
  • Platform: Android
  • Affects version: 1.16.0.1

При старте приложения тема подхватывается, эти "три точки", в котрые схлопываются "лишние" кнопки NavigationBar правильно подкрашиваются в зависимости от светлой/темной темы. Но, если сменить тему руками во время работы приложения, то они остаются того же оттенка, что и при старте. После перезапуска приложения опять правильного оттенка.

 

Добавлено: Похоже, что это распространяется на все ActionButtons - оттенок не меняется при смене темы во время приложения, только при перезапуске.

tt.jpg


User Feedback

Recommended Comments

  • Administrators
  1. Использую демонстрационный проект из поставки с TfgNavigationBar.
  2. Подправил цвет иконок в теме, чтобы визуально отличать их.
  3. Добавил пару кнопок и указал им иконки. Часть кнопок схлопнулась в дизайнере.
  4. Запускаю проект и руками переключаю тему при помощи радио кнопок.
  5. Оттенок меняется у всех иконок на нав баре.

Так что багу не воспроизвел. Прикрепите, пожалуйста, проект, где можно это воспроизвести.

Спасибо

dervish00

Active subscription

Пример именно тот же, из демо. Не меняются иконки у ActionButtons и "три точки", только фон у NavigationBar. Я то, в принципе решил проблему у кнопок (меняю ручками иконки), но вот "три точки" не могу.

Dark_and_Light_themes.zip

dervish00

Active subscription

Понял, где находится ссылка на ассет этих "трёх точек". Подставил туда нужные иконки в зависимости от темы и всё работает как надо. Дело в том, что стандартным механизмом подкрашиванием экшнбаттон я не могу воспользоваться, тк у меня в рамках темы кнопки могут энаблед/дизаблед и поэтому я меняю цвет кнопок иконкой. Думал, что механизм смены темы влияет на всё, где указана тема, а, оказывается, нет. В-общем, как-то решил свою проблму. Правда больше ресурсов и больше ручками движений.

dervish00

Active subscription

Для уточнения: Ярослав, а есть ли механизм при открытии формы-фрейма заставить иконки из ассета перерисоваться в соответствии с темой телефона? Я в ассете, в папках темы (и сетлой, и темной) делаю свои подпапки с иконками, задаю кнопкам иконки из одной из тем, которая, условно, "по умолчанию". При создании этой формы  устанавливаю свойство ThemeName в соответствии с текущей темой телефона. И если эта тема не совпадает с темой по-умолчанию, то иконки остаются прежние (для темы "по-умолчанию"). Но, если я во время работы приложения опускаю шторку, выбираю в настройках телефона другую тему, то иконки прекрасно изменяются, что косвенно говорит о том, что механизм смены работает и для таких иконок тоже. И получается, что в текущей ситуации я должен огород городить, чтобы при создании формы-фрейма подставить "правильные" имена ассетов для иконок в соответствии с темой. Т.е. еще один практически повторяющийся модуль Asset.Const с именами ассетов, только без названия тем.

  • Administrators

Фрейм создается динамически или встроен в дизайнере?

dervish00

Active subscription

Это не фрейм (не объект фрейм), а форма, которую я использую как фрейм

  • Administrators

Если используется встраиваемая форма, то для нее надо менять тему отдельно. А лучше перейти на фреймы TfgFrame и в этом случае, все будет автоматически.

dervish00

Active subscription

Справедливости ради надо сказать, что часть компонентов на формах-фреймах под текущую тему подстраиваются правильно.

А переход на фреймы в планах, да.

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.