Об этом проекте
android-gif-drawable — это библиотека с открытым исходным кодом для Android, предоставляющая классы Views и Drawable для отображения анимированных GIF-изображений. Она включает GIFLib через JNI для отрисовки кадров, что эффективнее, чем использование классов WebView или Movie.
Библиотека предлагает несколько готовых классов View: GifImageView, GifImageButton и GifTextView, которые можно использовать непосредственно в XML-макетах или задавать программно. Когда drawable, назначенный этим представлениям, является GIF-файлом, он автоматически распознается как GifDrawable и анимируется. Если drawable не является GIF, представления ведут себя как стандартные ImageView или ImageButton.
GifDrawable может быть создан из нескольких источников, включая файлы активов, ресурсы, URI, массивы байтов, FileDescriptor, пути к файлам, File, AssetFileDescriptor, InputStream и ByteBuffer. Библиотека берет на себя управление входными потоками и автоматически закрывает их.
Управление анимацией обеспечивается такими методами, как stop(), start(), isRunning(), reset(), setSpeed(float), seekTo(int), getDuration() и getCurrentPosition(). GifDrawable реализует интерфейсы Animatable и MediaPlayerControl, что позволяет интегрироваться со стандартным MediaController для элементов управления воспроизведением и отображения прогресса.
Библиотека также предоставляет метаданные GIF, включая количество циклов, число кадров, текст комментария, размер кадра в байтах, размер выделения в байтах и размер входного источника в байтах. Механизм MultiCallback позволяет одному экземпляру GifDrawable анимироваться одновременно на нескольких View.
Требования включают Android 4.2+ (API level 17+), с аппаратным ускорением для GifTextureView и OpenGL ES 2.0+ для GifTexImage2D. Сборка из исходного кода требует Android NDK. Библиотека доступна на Maven Central и поддерживает настройки Gradle, Maven и Eclipse. Она лицензирована под MIT License.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.