Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I display an animated gif in React Native?

Tags:

react-native

How can I display an animated gif in react native. This is what I've tried.

<Image source={{uri: "loading"}} /> 

It works fine with a .png file but when I use a .gif file it's blank. I read somewhere to try renaming the .gif to a .png but that just displays one frame of the animated gif with no animation. Any ideas?

like image 905
Dev01 Avatar asked Feb 24 '16 06:02

Dev01


People also ask

How do I add an animated GIF to react native?

If you are using a lower react-native version, check react-native documentation for gif support for that particular version. After adding the dependency restart the server once using the following command. Step 4: Inside AddGif. js we will show GIf using Image component of the react-native library.

How do I display a GIF in react?

To render an animated gif in a React component: Import the gif as import myGif from './path-to-my-gif. gif' . Add an img element that shows the gif, e.g. <img src={myGif} alt="" /> .

Can I use GIF in react native?

When building your own native code, GIF and WebP are not supported by default on Android. You will need to add some optional modules in android/app/build. gradle , depending on the needs of your app.


1 Answers

For RN < 0.60

By default the Gif images are not supported in android react native app. You need to set use Fresco to display the gif images. The code:

Edit your android/app/build.gradle file and add the following code:

dependencies: {       ...      compile 'com.facebook.fresco:fresco:1.+'      // For animated GIF support     compile 'com.facebook.fresco:animated-gif:1.+'      // For WebP support, including animated WebP     compile 'com.facebook.fresco:animated-webp:1.+'     compile 'com.facebook.fresco:webpsupport:1.+'  } 

then you need to bundle the app again, You can display the gif images in two ways like this.

1-> <Image          source={require('./../images/load.gif')}           style={{width: 100, height: 100 }}     />  2-> <Image          source={{uri: 'http://www.clicktorelease.com/code/gif/1.gif'}}           style={{width: 100, height:100 }}      /> 

For RN >= 0.60

implementation 'com.facebook.fresco:animated-gif:1.12.0' //instead of  implementation 'com.facebook.fresco:animated-gif:2.0.0'   //use 

I hope it is helpful to others,

like image 131
Venkatesh Somu Avatar answered Oct 31 '22 07:10

Venkatesh Somu