عن المشروع

مكتبة android-gif-drawable هي مكتبة أندرويد مفتوحة المصدر توفر فئات Views وDrawable لعرض صور GIF المتحركة. تقوم بتضمين مكتبة GIFLib عبر JNI لعرض الإطارات، وهذا أكثر كفاءة من استخدام فئتي WebView أو Movie. توفر المكتبة عدة فئات Views جاهزة للاستخدام: GifImageView وGifImageButton وGifTextView، والتي يمكن استخدامها مباشرة في تخطيطات XML أو تعيينها برمجياً. عندما يكون الرسم (Drawable) المخصص لهذه الـ Views ملف GIF، يتم التعرف عليه تلقائياً كـ GifDrawable ويتم تحريكه. إذا لم يكن الرسم GIF، تتصرف الـ Views مثل ImageView أو ImageButton القياسية. يمكن إنشاء GifDrawable من مصادر متعددة تشمل ملفات الأصول (assets)، والموارد (resources)، وURIs، ومصفوفات البايت، وFileDescriptors، ومسارات الملفات، وملفات File، وAssetFileDescriptors، وInputStreams، وByteBuffers. تأخذ المكتبة ملكية تدفقات الإدخال وتغلقها تلقائياً. يتم توفير التحكم في الحركة من خلال طرق مثل stop() وstart() وisRunning() وreset() وsetSpeed(float) وseekTo(int) وgetDuration() وgetCurrentPosition(). تطبق GifDrawable واجهتي Animatable وMediaPlayerControl، مما يسمح بالتكامل مع MediaController القياسي لعناصر التحكم في التشغيل وعرض التقدم. تكشف المكتبة أيضاً بيانات GIF الوصفية بما في ذلك عدد مرات التكرار، وعدد الإطارات، ونص التعليق، وعدد بايتات الإطار، وعدد بايتات التخصيص، وعدد بايتات مصدر الإدخال. تسمح آلية MultiCallback بمثيل GifDrawable واحد بالتحريك عبر عدة Views في وقت واحد. تشمل المتطلبات أندرويد 4.2+ (مستوى API 17+) مع عرض مسرع بالعتاد لـ GifTextureView وOpenGL ES 2.0+ لـ GifTexImage2D. يتطلب البناء من المصدر Android NDK. المكتبة متاحة على Maven Central وتدعم إعدادات Gradle وMaven وEclipse. وهي مرخصة بموجب رخصة MIT.