এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব ৫০] :: এন্ড্রয়েড এ AnimationUtils ক্লাস এর ব্যবহার-২

আজকের পর্বে আমরা AnimationUtils ক্লাস এর একটি উদাহরণ দেখার চেষ্টা করব ইনশাআল্লাহ।প্রথমেই আমদের যা করতে হবে তা হল এই AnimationUtils ক্লাস এর জন্য প্রয়োজনীয় জাভা ক্লাস ফাইল সেট করা এবং পাশাপাশি এর xml ফাইলগুলোও সেটআপ করা। AnimationUtils ক্লাস এর ব্যবহারের মূল প্রয়োগ হচ্ছে এর বিভিন্ন animation effect। এর জন্য যা প্রয়োজন হবে তা হচ্ছে Animation Resources এর অধীনে xml এর তৈরি বিভিন্ন animation effect। যেখানে effect গুলো মূলত তৈরি হয় <set> এর ভিতর <scale>, <alpha>, <translate> বিভিন্ন animation ইফেক্ট দ্বারা । এই তৈরি effect গুলো android প্রোজেক্ট এর res ফোল্ডার এর ভিতর আরেকটি তৈরিকৃত ফোল্ডার এ xml ফাইল আকারে রাখতে হয়। যা পরবর্তীতে অ্যাপ তৈরির সময় কাজে লাগে । এখন android প্রোজেক্ট এর MainActivity.java ক্লাসটি নিচের মত করে সেট করি ।
package com.encoder.animationutils;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

 Button bt1, bt2, bt3;

    @Override
    public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        bt1 = (Button) findViewById(R.id.button1);

        bt2 = (Button) findViewById(R.id.button2);

        bt3 = (Button) findViewById(R.id.button3);

        bt1.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    Intent i = new Intent(MainActivity.this, AutoLoadEffect.class);

          startActivity(i);

     }
  });

        bt2.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    Intent i = new Intent(MainActivity.this, TextEffect.class);

    startActivity(i);

    }

        });

        bt3.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    Intent i = new Intent(MainActivity.this, ImageEffect.class);

    startActivity(i);

   }
  });

    }

}

অনুরুপ এর xml ফাইল টিও নিচের মত করে সাজায়ঃ
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_gravity="center"
 android:orientation="vertical" >

<Button
 android:id="@+id/button1"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/auto_load_effect" />

<Button
 android:id="@+id/button2"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text_effect" />

<Button
 android:id="@+id/button3"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/image_effect" />

</LinearLayout>

এখানে main.xml ফাইল এ তিনটি বাটন সেট করা হয়েছে, যা মূলত তিনটি activity তে আলাদা আলাদা effect প্রদর্শন করার জন্য সেট করা হয়েছে।
AnimationUtils ক্লাস এর একটি সাধারণ ইফেক্ট কার্যকর করার জন্য যে প্রয়োজনীয় কোডটি লাগে তা হলঃ
autoload = AnimationUtils.loadAnimation(this, R.anim.rotate);

img.startAnimation(autoload);

এখানে রিসোর্স এর ফোল্ডারকে R.anim এভাবে চিনিয়ে দেয়া হয়েছে এবং এর প্রয়োজনীয় effect কার্যকর করা হয়েছে।
TextEffect.java:
package com.encoder.animationutils;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;
import android.app.Activity;

public class TextEffect extends Activity implements AnimationListener {

 Animation anim;
 TextView txtmsg;
 Button btn;

 @Override
 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_text_effect);

  txtmsg = (TextView) findViewById(R.id.textView1);

  btn = (Button) findViewById(R.id.textbtn);

  anim = AnimationUtils.loadAnimation(this, R.anim.sequential);

  anim.setAnimationListener(this);

  btn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    txtmsg.setVisibility(View.VISIBLE);

    txtmsg.startAnimation(anim);

   }
  });

 }

 @Override
 public void onAnimationEnd(Animation arg0) {
  // TODO Auto-generated method stub

 }

 @Override
 public void onAnimationRepeat(Animation arg0) {
  // TODO Auto-generated method stub

 }

 @Override
 public void onAnimationStart(Animation arg0) {
  // TODO Auto-generated method stub

 }
}

অটোইফেক্ট এর জন্য startAnimation মেথড এবং বাটন থেকে listen করে তা কার্যকর করার জন্য সাধারণত setAnimationListener এই মেথডটি ব্যবহার করা হয়।এখানে xml এর Animation Effect সম্পর্কে জানতে চাইলে এই লিঙ্কটি দেখতে পারেন।
আজকের প্রোজেক্টটি এর ডাউনলোড লিঙ্ক।





Previous
Next Post »

পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon

Thanks for your comment