এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব-১২] :: Canvas ও Paint এর ব্যবহার

এন্ড্রয়েড ডেভেলপমেন্ট

আজকের পর্বে আমরা শিখব Canvas ও Paint এর ব্যবহার। প্রথমেই আমরা নতুন একটি এন্ড্রয়েড প্রোজেক্ট তৈরি করি। প্রোজেক্ট এর package এ মাউস এর ডান বাটন ক্লিক করে নতুন একটি ক্লাস ফাইল নেয় Rectangle নামে। এই Rectangle.java ফাইল এ আমরা Canvas ও Paint এর ব্যবহার প্রয়োগ করব। MainActivity.java এ আমরা Rectangle ক্লাস ব্যবহার করে Rectangle view নামে একটি variable ডিক্লিয়ার করে দেয়। view, variable এ নতুন একটি instance, view = new Rectangle() এভাবে ডিক্লিয়ার করে দেয়।

এবং setContentView এ setContentView(view); এভাবে ডিক্লিয়ার করে দেয়। কিন্তু এভাবে ডিক্লিয়ার করার পর আমাদের এরর message প্রদর্শন করবে। এই এরর message দূর করার জন্য আমাদেরকে Rectangle ক্লাস এ গিয়ে Rectangle ক্লাসকে extend করতে হবে View দ্বারা। তারপর আবার Rectangle এ এরর message প্রদর্শন করবে। এই এরর দূর করার জন্য আবার আমদেরকে Rectangle এর অধীনে একটি constructor তৈরি করতে হবে।

constructor হচ্ছে একটি speacial মেথড যা object initialize এবং নরমাল মেথড এর implicity কমানোর জন্য ব্যবহার হয়। Constructor একই class এর নাম দ্বারা গঠিত হয়।

তারপর আমাদেরকে Context, MainActivity এর মধ্যে দিয়ে send করার জন্য view= new Rectangle(this) এর মধ্যে this এভাবে ডিক্লিয়ার করে দিতে হবে।

package com.coder_art.android10;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

	Rectangle view;

	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		view = new Rectangle(this);

		setContentView(view);

	}

}

এরপর আমরা যাব Rectangle.java ক্লাস ফাইল এ। এখানে আমরা যে মেথড ব্যবহার করব তা হচ্ছে onDraw মেথড। onDraw মেথডটি নিয়ে আসার জন্য মাউস এর রাইট বাটন ক্লিক করে source> Override/Implement Methods থেকে onDraw মেথডটি সিলেক্ট করে দিয়ে ওকে বাটন প্রেস করতে হবে।

onDraw মেথডটি যে value send করছে তা হচ্ছে Canvas। আর Canvas হচ্ছে Graphics Component যা Draw call টি host করছে। এখন আমরা যদি একটি Rectangle area আঁকতে চাই, তাহলে আমদের প্রয়োজন পরবে Rect নামের ক্লাস ফাইলটি ।

package com.coder_art.android10;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.view.View;

public class Rectangle extends View {

public Rectangle(Context context) {

		super(context);

		}

@Override
protected void onDraw(Canvas canvas) {

	super.onDraw(canvas);

	Rect  ourRect = new Rect();

	ourRect.set(0, 0, canvas.getWidth(), canvas.getHeight()/2);

	Paint ourPaint = new Paint();

	ourPaint.setColor(Color.GREEN);

	ourPaint.setStyle(Paint.Style.FILL);

	canvas.drawRect(ourRect, ourPaint);

}

}

Rect এর মধ্যে একটি variable, ourRect ডিক্লিয়ার করে এর জন্য একটি instance ডিক্লিয়ার করে দেই। এখন ourRect এর মধ্যে set করে দিতে হবে Rectangle এর coordinate এর মান গুলো। তারপর আমাদের আঁকার জন্য যে ক্লাস প্রয়োজন পরবে তা হচ্ছে Paint। অনুরুপভাবে Paint এর জন্য প্রয়োজনীয় value গুলো ডিক্লিয়ার করে দেই।

তারপর অবশেষে Rectangle টি আঁকার জন্য canvas দিয়ে এভাবে ডিক্লিয়ার করে দেই canvas.drawRect(ourRect, ourPaint);
এখন application টি রান করলে অ্যাপএ একটি colored rectangle area প্রদর্শন করবে।
এই ছিল এন্ড্রয়েড ডেভেলপমেন্ট আজকের বারতম পর্ব।

এন্ড্রয়েড ডেভেলপমেন্ট এর সর্বশেষ পর্ব সম্পর্কে নোটিফিকেশান পেতে লাইক করুন ফেসবুকের এই পেইজে এ।

Level 0

আমি নাঈম হায়দার ঋদ্ধি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 76 টি টিউন ও 44 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 6 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

Computer ও Programming পছন্দ, আমার youtube channel https://www.youtube.com/channel/UCYKbAf2kXLgKav30hd3zDPQ . আমার ফেসবুক প্রোফাইল https://www.facebook.com/nayeem.riddhi


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস