প্রকল্প সম্পর্কে
android-gif-drawable হলো একটি ওপেন-সোর্স অ্যান্ড্রয়েড লাইব্রেরি, যা অ্যানিমেটেড GIF প্রদর্শনের জন্য Views এবং Drawable ক্লাস সরবরাহ করে। এটি ফ্রেম রেন্ডার করতে JNI-এর মাধ্যমে GIFLib bundle করে, যা WebView বা Movie ক্লাস ব্যবহারের চেয়ে বেশি দক্ষ।
লাইব্রেরিটি বেশ কয়েকটি ব্যবহারের জন্য প্রস্তুত View ক্লাস প্রদান করে: GifImageView, GifImageButton এবং GifTextView। এগুলো সরাসরি XML লেআউটে ব্যবহার করা যায় বা প্রোগ্রাম্যাটিকভাবে সেট করা যায়। এই ভিউগুলোতে অ্যাসাইন করা drawable যদি GIF ফাইল হয়, তা স্বয়ংক্রিয়ভাবে GifDrawable হিসেবে শনাক্ত হয় এবং অ্যানিমেট হয়। যদি drawable কোনো GIF না হয়, ভিউগুলো সাধারণ ImageView বা ImageButton-এর মতো আচরণ করে।
GifDrawable একাধিক উৎস থেকে তৈরি করা যায়, যার মধ্যে রয়েছে অ্যাসেট ফাইল, রিসোর্স, URI, byte arrays, FileDescriptors, ফাইল পাথ, Files, AssetFileDescriptors, InputStreams এবং ByteBuffers। লাইব্রেরি ইনপুট স্ট্রিমগুলোর মালিকানা নেয় এবং সেগুলো স্বয়ংক্রিয়ভাবে বন্ধ করে।
অ্যানিমেশন নিয়ন্ত্রণের জন্য রয়েছে stop(), start(), isRunning(), reset(), setSpeed(float), seekTo(int), getDuration() এবং getCurrentPosition()-এর মতো মেথড। GifDrawable উভয়ই Animatable এবং MediaPlayerControl ইন্টারফেস বাস্তবায়ন করে, ফলে প্লেব্যাক নিয়ন্ত্রণ এবং অগ্রগতি প্রদর্শনের জন্য স্ট্যান্ডার্ড MediaController-এর সাথে সংযুক্ত করা যায়।
লাইব্রেরিটি GIF মেটাডেটাও প্রকাশ করে, যার মধ্যে রয়েছে লুপ কাউন্ট, ফ্রেমের সংখ্যা, কমেন্ট টেক্সট, ফ্রেম বাইট কাউন্ট, অ্যালোকেশন বাইট কাউন্ট এবং ইনপুট সোর্স বাইট কাউন্ট। একটি MultiCallback মেকানিজমের মাধ্যমে একটি একক GifDrawable ইনস্ট্যান্স একই সাথে একাধিক View-তে অ্যানিমেট করা যায়।
প্রয়োজনীয়তার মধ্যে রয়েছে অ্যান্ড্রয়েড 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.