কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে ক্যারেক্টার বাই ক্যারেক্টার টেক্সট অ্যানিমেশন তৈরির পদ্ধতি

টাইপরাইটার ইফেক্ট: ক্যারেক্টার বাই ক্যারেক্টার টেক্সট অ্যানিমেশন

এই উদাহরণটি দেখায় কীভাবে অ্যান্ড্রয়েডে টেক্সটকে এক-এক করে ক্যারেক্টার দেখানো যায় (টাইপরাইটার ইফেক্ট)।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

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 ক্লাসটি সরাসরি কন্টেন্ট ভিউ হিসেবে সেট করা হয়েছে।

অ্যাপ্লিকেশন চালান

অ্যাপটি চালান। টেক্সট এক-এক করে ক্যারেক্টার দেখাবে (টাইপরাইটার স্টাইলে) ১৫০ মিলিসেকেন্ড ইন্টারভালে।

  1. এন্ড্রয়েডে TextView-এ নির্দিষ্ট টেক্সট বোল্ড করার পদ্ধতি

  2. অ্যান্ড্রয়েডে ডিফল্ট টেক্সটসহ Spinner তৈরি করা

  3. অ্যান্ড্রয়েডে Toast মেসেজ দেখানোর পদ্ধতি

  4. Android-এ TextView-এ টেক্সট জাস্টিফাই (Justify) করার পদ্ধতি