Знайомтеся анімований gif

Android не підтримує анімовані gif-файли з коробки. Розглянемо кілька способів для вирішення проблеми.

Перше, що спадає на думку - використовувати WebView. Можна просто розмістити на екрані своєї активності компонент і завантажити в нього потрібну картинку.

Другий варіант - створити свій новий клас з власним конструктором, успадкованих від WebView:

Залишилося тільки програмно встановити створений компонент. Для дослідів використовувався файл lick.gif в папці assets.

Два способи ідентичні по суті. Але слід врахувати, що WebView є дуже "важким" компонентом, практично це цілий браузер. Але з іншого боку, це самий просто і зрозумілий спосіб.

Альтернативний спосіб показати анімований файл - скористатися класом android.graphics.Movie. Створимо новий клас MoviewGifView:

Підключаємо в головній активності.

Бажано також відключити підтримку апаратного прискорення у активності в маніфесті.

Приклад простий і працездатний.

Можна доопрацювати клас MovieGifView. додавши підтримку завантаження з ресурсів і управління розмірами.

Додамо висновок логів.

додаткове читання

Існують різні бібліотеки для роботи з анімованими ДІФКУ.

У мене не було причин використовувати файли даного формату в проектах, тому не можу судити про плюси і мінуси кожного із зазначених способів.

Бібліотека Glide для роботи з зображеннями підтримує GIF. Напевно, це найкращий варіант для ваших проектів.