1

WebView を使用してアニメーション GIF を表示しようとしています。ほとんどのデバイスで問題なく動作しますが、一部のデバイスではアニメーションがサポートされず、静的 GIF が表示されます。

デバイスが WebView でアニメーション GIF をサポートしているかどうかを検出するにはどうすればよいですか? サポートしていない場合は適切なメッセージを表示できますか?

4

5 に答える 5

1

このように言うのは嫌いですが、それが最も効果的な方法です。GIF 画像を開き、再生されない場合... デバイスでサポートされていません

于 2012-01-27T16:27:09.580 に答える
1

このリンクhttp://code.google.com/p/android/issues/detail?id=3422でわかるように。この問題は 2 年間未解決のままです。しかし、ほとんどのデバイスは Gingerbread で問題なく動作します。したがって、動作するかどうかの OS レベル (レベル 9 以降) を確認できます。

于 2011-10-10T13:34:34.713 に答える
1

ええ、これは共通の問題のようです。バグレポートに投稿されたいくつかの回避策がありますが、それは Android コア機能ではないことがわかります。

一部の会社 (HTC など) は、これを自分で処理した可能性がありますが、アニメーション gif が機能することに依存することはできません。

于 2011-10-10T13:28:54.410 に答える
0

Android C++ ファイルには、 が定義されている場合に返すexternal/webkit/WebCore/platform/graphics/android/ImageSourceAndroid.cpp関数があります。static bool should_use_animated_gif(int width, int height)trueANDROID_LARGE_MEMORY_DEVICE

ここで、Leon Scroggins (Google エンジニアのようです) は、ANDROID_LARGE_MEMORY_DEVICE「VFP を備えたすべてのアーム デバイスと、すべての非アーム デバイスに対して」定義されていると述べています。

編集:これは次によって確認されていexternal/webkit/Android.mkます:

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

私の理解では、すべての ArmV7 CPU には VFP があるため、アニメーション GIF は ArmV7 を搭載した最新の CPU で動作するはずです。

于 2014-12-12T11:48:56.783 に答える
0

アニメーション GIF のサポートは、バージョン 2.2 で Android に追加されました。Build.VERSIONを使用してバージョンを確認すると、GIF が機能しているかどうかがわかります。

于 2011-10-10T13:29:48.993 に答える