টাইপরাইটার ইফেক্ট: ক্যারেক্টার বাই ক্যারেক্টার টেক্সট অ্যানিমেশন
এই উদাহরণটি দেখায় কীভাবে অ্যান্ড্রয়েডে টেক্সটকে এক-এক করে ক্যারেক্টার দেখানো যায় (টাইপরাইটার ইফেক্ট)।
ধাপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project-এ যান এবং প্রজেক্ট তৈরি করুন।
ধাপ ২: Typewriter.java কাস্টম ক্লাস তৈরি করুন
package com.example.andy.myapplication;
import android.content.Context;
import android.os.Handler;
import android.util.AttributeSet;
import android.widget.TextView;
public class Typewriter extends TextView {
private CharSequence mText;
private int mIndex;
private long mDelay = 150; // ডিফল্ট ১৫০ মিলিসেকেন্ড
private Handler mHandler = new Handler();
private Runnable characterAdder = new Runnable() {
@Override
public void run() {
setText(mText.subSequence(0, mIndex++));
if (mIndex <= mText.length()) {
mHandler.postDelayed(characterAdder, mDelay);
}
}
};
public Typewriter(Context context) {
super(context);
}
public Typewriter(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void animateText(CharSequence text) {
mText = text;
mIndex = 0;
setText("");
mHandler.removeCallbacks(characterAdder);
mHandler.postDelayed(characterAdder, mDelay);
}
public void setCharacterDelay(long millis) {
mDelay = millis;
}
}
ধাপ ৩: MainActivity.java-তে কোড যোগ করুন
package com.example.andy.myapplication;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Typewriter writer = new Typewriter(this);
setContentView(writer);
writer.setCharacterDelay(150); // ১৫০ মিলিসেকেন্ড প্রতি ক্যারেক্টার
writer.animateText("নমুনা স্ট্রিং...নমুনা স্ট্রিং...নমুনা স্ট্রিং...");
}
}
এখানে কাস্টম Typewriter ক্লাসটি সরাসরি কন্টেন্ট ভিউ হিসেবে সেট করা হয়েছে।
অ্যাপ্লিকেশন চালান
অ্যাপটি চালান। টেক্সট এক-এক করে ক্যারেক্টার দেখাবে (টাইপরাইটার স্টাইলে) ১৫০ মিলিসেকেন্ড ইন্টারভালে।