NativeScript Version 7+:
tns plugin add nativescript-gif
NativeScript Version prior to 7:
tns plugin add [email protected]
The native libraries used to handle rendering GIFs for Android & iOS.
Android Library | iOS CocoaPod |
---|---|
Koral-- / android-gif-drawable | FLAnimatedImage by Flipboard |
Android Screen | iOS Screen |
---|---|
IMPORTANT: Make sure you include
xmlns:Gif="nativescript-gif"
on the Page element.
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:Gif="nativescript-gif" loaded="pageLoaded">
<StackLayout>
<Gif:Gif headers="{{headersJSON}}" src="~/gifs/bill.gif" height="100" />
<Gif:Gif src="https://media4.giphy.com/media/3uyIgVxP1qAjS/200.gif" height="200" />
</StackLayout>
</Page>
import { registerElement } from 'nativescript-angular/element-registry';
import { Gif } from 'nativescript-gif';
registerElement('Gif', () => Gif);
<StackLayout>
<Gif [headers]="headersJSON" src="~/gifs/bill.gif" height="100" ></Gif>
<Gif src="https://media4.giphy.com/media/3uyIgVxP1qAjS/200.gif" height="200" ></Gif>
</StackLayout>
Be sure that you have your .gifs
added to the globs of the CopyWebpackPlugin as part of your webpack.config.
Demo app sample: https://github.com/bradmartin/nativescript-gif/blob/master/demo/webpack.config.js#L282
{
from: {
glob: '**/*.gif';
}
}
const webpack = require('@nativescript/webpack')
module.exports = env => {
webpack.init(env)
webpack.Utils.addCopyRule('**/*.gif')
return webpack.resolveConfig()
}
-
src - required Set the gif file to play.
-
headers - (JSON Object) - optional Set headers to add when loading a gif from URL
- starts playing the .gif
- stops playing the .gif
- returns the number of frames in the current .gif
- returns boolean value indicating if the gif is playing.
- returns the .gif duration
- resets the .gif to its initial frame
- sets the .gif play speed
- provided to speed up freeing memory advanced usage - you shouldn't need this often