Анимированный GIF для Android - PullRequest
1 голос
/ 10 октября 2011

Я пытаюсь отобразить анимированный GIF с помощью WebView. Он отлично работает на большинстве устройств, но некоторые из них не поддерживают анимацию, и отображается статический GIF.

Как я могу определить, поддерживает ли устройство анимированные GIF-файлы в WebView, чтобы отображать соответствующее сообщение, если это не так?

Ответы [ 5 ]

1 голос
/ 27 января 2012

Ненавижу так говорить, но это самый эффективный способ узнать. Откройте изображение GIF, и если оно не воспроизводится ... Это не поддерживается на устройстве

1 голос
/ 10 октября 2011

Как видно по этой ссылке http://code.google.com/p/android/issues/detail?id=3422. эта проблема все еще не решена в течение двух лет. Но большинство устройств отлично работают в Gingerbread. Таким образом, вы можете проверить уровень ОС (начиная с уровня 9), который работает или нет

1 голос
/ 10 октября 2011

Да, это швы, чтобы быть общей проблемой .В сообщении об ошибке есть некоторые обходные пути, но кажется, что это не Android Core-функция.

Некоторые компании (например, HTC), возможно, позаботились об этом сами, но вы не можете полагаться на анимированныеGIF для работы.

0 голосов
/ 12 декабря 2014

В файле Android C ++ external/webkit/WebCore/platform/graphics/android/ImageSourceAndroid.cpp есть функция static bool should_use_animated_gif(int width, int height), которая возвращает true, если определено ANDROID_LARGE_MEMORY_DEVICE.

Здесь , Леон Скроггинс (кажется, инженер Google) говорит, что ANDROID_LARGE_MEMORY_DEVICE определено «для всех устройств с защитой VFP и всех устройств без использования».

Редактировать: Это подтверждается external/webkit/Android.mk:

ifeq ($(ARCH_ARM_HAVE_VFP),true)
LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
endif

В моем понимании, все процессоры ArmV7 имеют VFP, поэтому анимированные GIF-файлы должны работать на современном процессоре с ArmV7.

0 голосов
/ 10 октября 2011

Добавлена ​​поддержка анимированного GIF в Android в версии 2.2. Если вы проверите версию, используя Build.VERSION , она должна сообщить вам, работают ли GIF-файлы.

...