Quantcast
ADs by Techtunes tAds
ADs by Techtunes tAds

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

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

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

ADs by Techtunes tAds

এবং 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 প্রদর্শন করবে।
এই ছিল এন্ড্রয়েড ডেভেলপমেন্ট আজকের বারতম পর্ব।

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

ADs by Techtunes tAds

আমার টিউন গুলো ভালো লাগলে অবশ্যই আমার টিউন বেশি বেশি জোসস করুন

আমার টিউন গুলো আপনার 'টিউন স্ক্রিন' নিয়মিত পেতে অবশ্যই আমাকে ফলো করুন। আমার টিউন গুলো সবার কাছে ছড়িতে দিতে অবশ্যই আমার টিউন গুলো বিভিন্ন সৌশল মিডিয়াতে বেশি বেশি শেয়ার করুন

আমার টিউন সম্পর্কে আপনার যে কোন মতামত, পরামর্শ ও আলোচনা করতে অবশ্যই আমার টিউনে টিউমেন্ট করুন

আমার সাথে সরাসরি যোগাযোগ করার জন্য 'টেকটিউনস ম্যাসেঞ্জারে' আমাকে ম্যাসেজ করুন। আমার সকল টিউন পেতে ভিজিট করুন আমার 'টিউনার পেইজ'

ADs by Techtunes tAds

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

আমি MBSTU তে ICT তে পড়ছি , Computer ও Programming নিয়ে থাকতেই পছন্দ করি সবসময়, আমার ফেসবুক প্রোফাইল https://www.facebook.com/nayeem.riddhi


আরও টিউনস


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


টিউমেন্টস