Voir cette solution.
https://github.com/nbadal/android-gif-encoder
C'est une version Android de ce post.
http://www.jappit.com/blog/2008/12/04/j2me-animated-gif-encoder/
Pour utiliser cette classe, voici un exemple de méthode d'aide à générer des GIF tableau d'octets. Notez ici le getBitmapArray fonction() est une méthode pour renvoyer tous les fichiers Bitmap dans une image de l'adaptateur à la fois. Donc l'entrée est de tous les fichiers Bitmap dans une seule carte, la sortie est un tableau d'octets que vous pouvez écrire dans le fichier.
public byte[] generateGIF() {
ArrayList<Bitmap> bitmaps = adapter.getBitmapArray();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
AnimatedGifEncoder encoder = new AnimatedGifEncoder();
encoder.start(bos);
for (Bitmap bitmap : bitmaps) {
encoder.addFrame(bitmap);
}
encoder.finish();
return bos.toByteArray();
}
Pour utiliser cette fonction, procédez de la manière suivante ensuite, vous pouvez enregistrer le fichier dans la carte sd.
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream("/sdcard/generate_gif/test.gif");
outStream.write(generateGIF());
outStream.close();
}catch(Exception e){
e.printStackTrace();
}