2016-07-03 14 views
12

私のアンドロイド反応ネイティブアプリで画像タグにURLを使って簡単なgifを表示したいのですが、起動時に画像が表示されません。 docsで提供されるコードは、Android向けのiOS用のみで動作しますが、しません: 反応ネイティブAndroidアプリでGIFを表示するには?

<Image 
    style={styles.gif} 
    source={{uri: 'http://38.media.tumblr.com/9e9bd08c6e2d10561dd1fb4197df4c4e/tumblr_mfqekpMktw1rn90umo1_500.gif'}} 
/> 

同様の質問がここにありましたが、すでにこれだけのiOSのための作品言った: How do I display an animated gif in React Native?
がすべきこれはそれをコミットについてしかし仕事: https://github.com/facebook/react-native/commit/fcd7de5301655b39832d49908e5ca72ddaf91f7e

+0

に次の依存関係を追加する必要がありましたか? –

答えて

28

我々はGIFのサポートのようなものがオプションにすることによりコアライブラリを小さくします。

そのためwe have to manually opt-in for gif support in Androidです。 は、依存関係の下であなたのアンドロイド/アプリ/ build.gradleファイルに次の行を追加します。

compile 'com.facebook.fresco:animated-gif:0.12.0' // For animated GIF support' 

だからあなたの依存関係のセクションでは、次のようになります。

dependencies { 
    compile fileTree(dir: "libs", include: ["*.jar"]) 
    compile "com.android.support:appcompat-v7:23.0.1" 
    compile "com.facebook.react:react-native:+" // From node_modules 
    compile 'com.facebook.fresco:animated-gif:0.10.0' // For animated GIF support 

をこれはあなたのデバッグビルドの問題を解決しますが、あなたがそれらであなたのリリースビルドでも瞬間を、それを解決したい場合は、あなたのProGuardの-ルールファイルに次の行を追加する必要があります。

-keep class com.facebook.imagepipeline.animated.factory.AnimatedFactoryImpl { public AnimatedFactoryImpl(com.facebook.imagepipeline.bitmaps.PlatformBitmapFactory, com.facebook.imagepipeline.core.ExecutorSupplier); } 

詳細informatiをここでは:https://github.com/facebook/fresco/issues/1177

これはこのcommitで修正され、次のリリースに含まれます。最新のために

+0

次回リリースがそのバージョン0.13.0だとしたら?私はそのリリースを試みましたが、問題はまだ残っているようです。 –

+1

'compile 'com.facebook.fresco:animated-gif:0。+' – antoine129

7

は、あなたがこれらの依存関係を追加することができますネイティブ版を反応させる:

compile 'com.facebook.fresco:animated-base-support:0.14.1' 
compile 'com.facebook.fresco:animated-gif:0.14.1' 
+0

魅力のように動作します。 。 :)ありがとう –

9

上記のすべてが最新のネイティブ(v0.48)と反応して私のために動作しませんでした。私は、あなたは、単に、なぜWebViewのを使用していないリンクを介してGIF画像を読み込む場合、私​​

compile 'com.facebook.fresco:fresco:1.5.0' compile 'com.facebook.fresco:animated-gif:1.5.0'

+0

それはiosであなたのために働いたのですか? –

+0

@AdirZoari申し訳ありませんが、iOSで試したことはありません。 –

関連する問題