منصوبے کے بارے میں

android-gif-drawable ایک اوپن سورس Android لائبریری ہے جو متحرک GIFs دکھانے کے لیے Views اور Drawable کلاسز فراہم کرتی ہے۔ یہ فریمز رینڈر کرنے کے لیے JNI کے ذریعے GIFLib کو شامل کرتی ہے، جو WebView یا Movie کلاسز کے استعمال سے زیادہ مؤثر ہے۔ یہ لائبریری کئی براہِ راست استعمال کے قابل View کلاسز پیش کرتی ہے: GifImageView، GifImageButton، اور GifTextView، جنہیں براہِ راست XML layouts میں استعمال کیا جا سکتا ہے یا پروگرامی طور پر سیٹ کیا جا سکتا ہے۔ جب ان views کو تفویض کردہ drawable کوئی GIF فائل ہو تو اسے خودکار طور پر GifDrawable کے طور پر پہچانا جاتا ہے اور متحرک کیا جاتا ہے۔ اگر drawable کوئی GIF نہ ہو تو یہ views معیاری ImageView یا ImageButton کی طرح برتاؤ کرتی ہیں۔ GifDrawable متعدد ذرائع سے تعمیر کیا جا سکتا ہے، بشمول asset فائلیں، resources، URIs، byte arrays، FileDescriptors، فائل پاتھس، Files، AssetFileDescriptors، InputStreams، اور ByteBuffers۔ لائبریری input streams کی ملکیت سنبھالتی ہے اور انہیں خودکار طور پر بند کر دیتی ہے۔ اینیمیشن کنٹرول ایسے طریقوں کے ذریعے فراہم کیا جاتا ہے جیسے stop()، start()، isRunning()، reset()، setSpeed(float)، seekTo(int)، getDuration()، اور getCurrentPosition()۔ GifDrawable دونوں Animatable اور MediaPlayerControl interfaces کو نافذ کرتا ہے، جس سے پلے بیک کنٹرولز اور پیش رفت کے اظہار کے لیے معیاری MediaController کے ساتھ انضمام ممکن ہوتا ہے۔ لائبریری GIF metadata بھی ظاہر کرتی ہے، بشمول لوپ کی تعداد، فریمز کی تعداد، تبصرہ متن، فریم بائٹ تعداد، تخصیص بائٹ تعداد، اور ان پٹ سورس بائٹ تعداد۔ ایک MultiCallback میکانزم ایک ہی GifDrawable instance کو بیک وقت متعدد Views پر متحرک کرنے کی اجازت دیتا ہے۔ تقاضوں میں Android 4.2+ (API level 17+) شامل ہے، جبکہ GifTextureView کے لیے hardware-accelerated rendering اور GifTexImage2D کے لیے OpenGL ES 2.0+ درکار ہے۔ سورس سے تعمیر کے لیے Android NDK درکار ہے۔ لائبریری Maven Central پر دستیاب ہے اور Gradle، Maven، اور Eclipse سیٹ اپس کو سپورٹ کرتی ہے۔ یہ MIT License کے تحت لائسنس یافتہ ہے۔