গত পর্বে আমরা SurfaceView ক্লাসের সেটিংস্ সম্পর্কে আলোচনা করেছিলাম।আজকের পর্বে আমরা গত পর্বের SurfaceView ক্লাস এ Canvas Lock, Draw, Post এর ব্যবহার সম্পর্কে আলোচনা করব।
শুরতেই আমরা যাব run() মেথডে।run() মেথডে while এর ভেতরে if দিয়ে একটি কন্ডিশান সেটআপ করে দিতে হবে যে চেক করার জন্য আমদের surface বিদ্যমান আছে কিনা, যদি না থাকে তাহলে তা while লুপের মধ্যে তা continue করবে।
package com.nayeem.android14;
import android.content.Context;
import android.graphics.Canvas;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class Ourview extends SurfaceView implements Runnable {
Thread ourThread= null;
SurfaceHolder holder;
boolean value1 = false;
public Ourview(Context context) {
super(context);
holder = getHolder();
}
@Override
public void run() {
while (value1== true)
{
if(!holder.getSurface().isValid())
{
continue;
}
Canvas c = holder.lockCanvas();
c.drawARGB(255, 150, 150, 80);
holder.unlockCanvasAndPost(c);
}
}
public void pause() {
value1= false;
while(true)
{
try
{
ourThread.join();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
break;
}
ourThread = null;
}
public void Resume() {
value1= true;
ourThread = new Thread(this);
ourThread.start();
}
}
তারপর আমাদেরকে lockcanvas কে সেটআপ করে দিতে হবে। lockCanvas() এমন একটা মেথড যা লিখার জন্য একটি surface area তৈরি করে ততক্ষন পর্যন্ত যতক্ষন না unlockCanvasAndPost() কে কল না দেয়া হয়। lockCanvas() এবং unlockCanvasAndPost() এর ভিতরে canvas Bitmap এ নির্দিষ্ট color সেট করে দেয়ার জন্য drawARGB(255, 150, 150, 80); এভাবে ডিক্লিয়ার করে দেয়।
এইছিল আজকের SurfaceView ক্লাস এ Canvas Lock, Draw, Post এর ব্যবহার সম্পর্কে আলোচনা।
এন্ড্রয়েড ডেভেলপমেন্ট এর সর্বশেষ পর্ব সম্পর্কে নোটিফিকেশান পেতে লাইক করুন ফেসবুকের এই পেইজে এ।
পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon