Попытка воспроизвести анимированные GIF-файлы на Android здесь (см. Android: как отобразить большой анимированный GIF-файл с указанием URL-адреса? ). Это совсем не гладко. На Android 1.5 Movie.decodeStream () / decodeFile () возвращает ноль. На Android 1.6, с имеющимися у меня GIF-файлами, он возвращает фильм нулевого размера с нулевой продолжительностью - явно недостаточно.
Упомянутый вопрос предлагает разбить GIF на фреймы (а затем отрендерить их). Как именно я могу это сделать, пожалуйста?
РЕДАКТИРОВАТЬ: попытался открыть один из моих GIF с GNU giflib в Windows. Он подавился самым первым кадром. С GIF все в порядке, все браузеры (кроме Android) отображают и анимируют его нормально.
EDIT2: работал с giflib 4.1.4. Не уверен, что было сломано в 4.1.6, но вы идете. Следующий шаг: собрать giflib для Android через NDK, как-то интегрировать с классом Bitmap.
РЕДАКТИРОВАТЬ3: giflib это. В сочетании с Bitmap.copyPixelsFromBuffer. Цвета сейчас все кривые, но базовый дизайн кажется работоспособным.