इस प्रोजेक्ट के बारे में
android-gif-drawable एक ओपन-सोर्स एंड्रॉइड लाइब्रेरी है जो एनिमेटेड GIF दिखाने के लिए Views और Drawable क्लास प्रदान करती है। यह फ्रेम रेंडर करने के लिए JNI द्वारा बंडल की गई GIFLib का उपयोग करती है, जो WebView या Movie क्लास के उपयोग की तुलना में अधिक कुशल है।
लाइब्रेरी कई उपयोग के लिए तैयार View क्लास प्रदान करती है: GifImageView, GifImageButton और GifTextView, जिन्हें सीधे XML लेआउट में उपयोग किया जा सकता है या प्रोग्रामेटिक रूप से सेट किया जा सकता है। जब इन व्यू को दिया गया ड्रॉएबल कोई GIF फ़ाइल होती है, तो इसे स्वतः पहचानकर GifDrawable के रूप में एनिमेट किया जाता है। यदि ड्रॉएबल GIF नहीं है, तो ये व्यू सामान्य ImageView या ImageButton की तरह व्यवहार करते हैं।
GifDrawable को कई स्रोतों से बनाया जा सकता है, जिनमें एसेट फ़ाइलें, रिसोर्स, URI, बाइट ऐरे, FileDescriptor, फ़ाइल पथ, Files, AssetFileDescriptor, InputStream और ByteBuffer शामिल हैं। लाइब्रेरी इनपुट स्ट्रीम का स्वामित्व लेती है और उन्हें स्वतः बंद कर देती है।
एनिमेशन नियंत्रण stop(), start(), isRunning(), reset(), setSpeed(float), seekTo(int), getDuration() और getCurrentPosition() जैसी विधियों द्वारा प्रदान किया जाता है। GifDrawable दोनों Animatable और MediaPlayerControl इंटरफेस लागू करता है, जिससे प्लेबैक नियंत्रण और प्रगति प्रदर्शन के लिए मानक MediaController के साथ एकीकरण संभव होता है।
लाइब्रेरी GIF मेटाडेटा भी प्रकट करती है, जिसमें लूप संख्या, फ्रेमों की संख्या, टिप्पणी टेक्स्ट, फ्रेम बाइट संख्या, एलोकेशन बाइट संख्या और इनपुट स्रोत बाइट संख्या शामिल हैं। एक MultiCallback तंत्र एक ही GifDrawable इंस्टेंस को एक साथ कई व्यू पर एनिमेट करने की अनुमति देता है।
आवश्यकताओं में एंड्रॉइड 4.2+ (API स्तर 17+) शामिल है, साथ ही GifTextureView के लिए हार्डवेयर-एक्सेलेरेटेड रेंडरिंग और GifTexImage2D के लिए OpenGL ES 2.0+ आवश्यक है। स्रोत से बिल्ड करने के लिए Android NDK चाहिए। लाइब्रेरी Maven Central पर उपलब्ध है और Gradle, Maven तथा Eclipse सेटअप का समर्थन करती है। यह MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.