Перейти к содержанию
Fire Monkey от А до Я
  • 0

TBitmapListAnimation проблемы с отрисовкой в Android


om.pranayama

Вопрос

Здравствуйте форумчане и профессионалы разработчики.

Компилирую проект через C++Builder 10.2  под Android
Появилась следующая проблема при использовании компонента TBitmapListAnimation

Если приложение свернуть, а затем развернуть - то появляются жуткие глитчи в ввиде чёрных фонов вокруг компонентов, типа TImage, TButton.

В Windows такая проблема - не наблюдается.

Попытки вызвать Repaint или даже Invalidate для всей формы - положительного результата не дают.

Пожалуйста, помогите решить эту проблему.

//--------------------------------------------------------------------------------------------------------------------------------------------

ТЕМУ МОЖНО УДАЛЯТЬ

Причина не в TBitmapListAnimation а в TAniIndicator, который работал совместно с TBitmapListAnimation.

Приношу извинения за беспокойство. Проблема была в TAniIndicator. Буду разбираться почему он так себя безобразно ведёт.

Тему можно удалять.

Изменено пользователем om.pranayama
Обнаружил, что причина проблемы не в TBitmapListAnimation
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Модераторы
2 часа назад, om.pranayama сказал:

Приношу извинения за беспокойство. Проблема была в TAniIndicator. Буду разбираться почему он так себя безобразно ведёт.

рекомендуется заменить TAniIndicator на TBitmapListAnimation 

Ссылка на комментарий
  • 0
1 час назад, Равиль Зарипов (ZuBy) сказал:

рекомендуется заменить TAniIndicator на TBitmapListAnimation 

Благодарю за предложение.

Также обнаружил, что стоит вызывать метод Stop в момент "сворачивания" приложения и возвращать анимацию через Start, когда приложение снова активно.

По этому поводу у меня возникла небольшая дилемма, но я не стал ради неё создавать отдельный топик. Дело в том, что отловить "сворачивание" в Android удалось через OnSaveState событие главной формы, а вот OnActivate и OnShow у меня почему-то не хендлятся, когда Android приложение "разворачивается". Решил свою дилемму путём булевого флага, который выставляю в событии OnPaint формы, чтобы "понимать", что приложение было развёрнуто и отображено пользователю.

Такое вот костыльное adhook решение у меня вышло :) Если подскажите как можно решить его покрасивей - буду признателен.

Ссылка на комментарий
  • 0
  • Модераторы
4 часа назад, om.pranayama сказал:

Если приложение свернуть, а затем развернуть - то появляются жуткие глитчи в ввиде чёрных фонов вокруг компонентов, типа TImage, TButton.

Подобное поведение наблюдалось на Delphi 10.2. Вроде этот баг исправили в 10.2.1, хотя могу ошибаться... Если нет, то возвращайтесь пока на 10.1.2 (Berlin upd 2).

 

30 минут назад, om.pranayama сказал:

Дело в том, что отловить "сворачивание" в Android удалось через OnSaveState событие главной формы, а вот OnActivate и OnShow у меня почему-то не хендлятся, когда Android приложение "разворачивается". Решил свою дилемму путём булевого флага, который выставляю в событии OnPaint формы, чтобы "понимать", что приложение было развёрнуто и отображено пользователю.

Такое вот костыльное adhook решение у меня вышло :) Если подскажите как можно решить его покрасивей - буду признателен.

О том как и когда ловить события я писал здесь: Очередь событий Delphi приложения на Android

Обратите внимание на события: BecameActive, WillBecomeForeground, WillBecomeInactive, OnSaveState

Изменено пользователем Andrey Efimov
Дополнение про события
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...