프로젝트 소개
android-gif-drawable은 애니메이션 GIF를 표시하기 위한 Views 및 Drawable 클래스를 제공하는 오픈 소스 Android 라이브러리입니다. GIFLib을 JNI를 통해 번들링하여 프레임을 렌더링하며, 이는 WebView나 Movie 클래스를 사용하는 것보다 효율적입니다.
이 라이브러리는 GifImageView, GifImageButton, GifTextView 등 바로 사용할 수 있는 여러 View 클래스를 제공합니다. 이 클래스들은 XML 레이아웃에서 직접 사용하거나 프로그래밍 방식으로 설정할 수 있습니다. 이러한 뷰에 할당된 drawable이 GIF 파일이면 자동으로 GifDrawable로 인식되어 애니메이션이 재생됩니다. drawable이 GIF가 아니면 해당 뷰는 표준 ImageView 또는 ImageButton처럼 동작합니다.
GifDrawable은 asset 파일, 리소스, URI, byte 배열, 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 레벨 17 이상)이 필요하며, GifTextureView에는 하드웨어 가속 렌더링이, GifTexImage2D에는 OpenGL ES 2.0 이상이 필요합니다. 소스에서 빌드하려면 Android NDK가 필요합니다. 이 라이브러리는 Maven Central에서 사용할 수 있으며 Gradle, Maven, Eclipse 설정을 지원합니다. MIT License로 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.