বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

ড্রয়িং অবজেক্ট তৈরী করা

android.graphics ফ্রেমওয়ার্ক ড্রয়িংকে দুইটা অধ্যায়ে বিভক্ত করে:

  • কি ড্র করতে হবে, Canvas কর্তৃক চালিত হয়

  • কীভাবে ড্র করতে হবে, Paint কর্তৃক চালিত হয়।

উদাহরনস্বরূপ বলা যায়, Canvas একটি লাইন ড্র করতে একটি পদ্ধতি প্রদান করে, যে সময়ে Paint ঐ লাইনের কালার ঠিক করার জন্য পদ্ধতি প্রদান করে। Canvas এর একটি রেকটাঙ্গেল (আয়তক্ষেত্র) ড্র করার একটি পদ্ধতি আছে, অন্যদিকে Paint ঠিক করে এই আয়তক্ষেত্রের কোয়ায় রঙ করতে হবে বা কোথায় খালি রাখতে হবে। সহজভাবে বলতে, Canvas শেপ(আকার) ঠিক করে যা আপনি স্ক্রিনে ড্র করতে পারবেন যেখানে Paint আপনি স্ক্রিনে যে কাঠামো ড্র করেছেন তার কালার, স্টাইল, ফন্ট, এবং এরকম অন্যকিছুকে ঠিক করে দেয়।

সুতরাং, আপনার কোন কিছু ড্র করার পূর্বে, আপনার এক বা একাধীক Paint অবজেক্ট তৈরী করা প্রয়োজন। PieChart নমুনা init নামে একটি পদ্ধতিতে এটা করে থাকে, যাকে কনস্ট্রাক্টর থেকে কল করা হয়ে থাকে:

private void init() {
   mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
   mTextPaint.setColor(mTextColor);
   if (mTextHeight == 0) {
       mTextHeight = mTextPaint.getTextSize();
   } else {
       mTextPaint.setTextSize(mTextHeight);
   }

   mPiePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
   mPiePaint.setStyle(Paint.Style.FILL);
   mPiePaint.setTextSize(mTextHeight);

   mShadowPaint = new Paint(0);
   mShadowPaint.setColor(0xff101010);
   mShadowPaint.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL));

   ...

সময়ের সাথে তাল মিলিয়ে অবজেক্ট তৈরী করা একটি গুরুত্বপূর্ন অপটিমাইজেশন। ভিউ ঘুব ঘণ ঘণ পূনরায় ড্র হয়, এবং অনেক ড্রয়িং অবজেক্টের মূল্যবান ইনশিয়া সূচনা আকাঙ্খা করে। আপনার onDraw() পদ্ধতির মধ্যে ড্রয়িং অবজেক্ট তৈরী করা নির্দিষ্টভাবে পারফর্মেমেন্সকে কমিয়ে দেয় এবং আপনার ইউআইকে ধীরগতীর করে দিতে পারে।