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

কোটলিন ব্যবহার করে অ্যান্ড্রয়েড টোস্টের ডিউরেশন Toast.LENGTH_LONG-র চেয়ে বেশি করার পদ্ধতি

এই উদাহরণটি দেখায় কিভাবে কোটলিন এবং CountDownTimer ব্যবহার করে অ্যান্ড্রয়েড টোস্টের ডিউরেশন ডিফল্ট LENGTH_LONG (প্রায় ৩.৫ সেকেন্ড) এর চেয়ে বেশি করা যায়। এখানে ১০ সেকেন্ডের জন্য টোস্ট দেখানো হয়েছে।

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

Android Studio-তে File → New Project এ যান এবং প্রয়োজনীয় বিবরণ পূরণ করে একটি নতুন প্রজেক্ট তৈরি করুন।

দ্বিতীয় ধাপ: লেআউট XML ডিজাইন করুন

res/layout/activity_main.xml ফাইলে নিচের কোড যোগ করুন:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="Tutorials Point"
        android:textAlignment="center"
        android:textColor="@android:color/holo_green_dark"
        android:textSize="32sp"
        android:textStyle="bold" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="টোস্ট দেখান"
        android:onClick="showToast"
        android:textColor="@android:color/background_dark" />

</RelativeLayout>

তৃতীয় ধাপ: MainActivity.kt তে লম্বা ডিউরেশনের টোস্ট লজিক লিখুন

src/MainActivity.kt ফাইলে নিচের কোড যোগ করুন:

import android.os.Bundle
import android.os.CountDownTimer
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    private lateinit var mToastToShow: Toast

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
    }

    fun showToast(view: View) {
        val toastDurationInMilliSeconds = 10000L // ১০ সেকেন্ড
        mToastToShow = Toast.makeText(this, "হ্যালো ওয়ার্ল্ড, আমি একটি টোস্ট।", Toast.LENGTH_LONG)

        val toastCountDown = object : CountDownTimer(toastDurationInMilliSeconds, 5000) {
            override fun onTick(millisUntilFinished: Long) {
                mToastToShow.show()
            }

            override fun onFinish() {
                mToastToShow.cancel()
            }
        }

        mToastToShow.show()
        toastCountDown.start()
    }
}

চতুর্থ ধাপ: ম্যানিফেস্ট ফাইল

androidManifest.xml ফাইলটি সাধারণ থাকবে।

বিকল্প আধুনিক পদ্ধতি (Snackbar বা কাস্টম টোস্ট)

আধুনিক অ্যান্ড্রয়েড ডেভেলপমেন্টে টোস্টের পরিবর্তে Snackbar বা কাস্টম লেআউট সহ টোস্ট ব্যবহার করা ভালো, কারণ:

  • Snackbar-এ ডিউরেশন সেট করা যায় (LENGTH_INDEFINITE সহ)
  • কাস্টম টোস্ট লেআউটে Timer ব্যবহার করে যেকোনো সময় দেখানো যায়
  • টোস্ট আপডেট/ক্যான্সেল করার কন্ট্রোল বেশি থাকে

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

অ্যান্ড্রয়েড ডিভাইস সংযুক্ত করে Run করুন। "টোস্ট দেখান" বাটনে ক্লিক করলে ১০ সেকেন্ড পর্যন্ত টোস্ট বারবার প্রদর্শিত হবে।

  1. অ্যান্ড্রয়েডে Toast.LENGTH_LONG-এর চেয়ে বেশি সময় টোস্ট দেখানোর পদ্ধতি

  2. অ্যান্ড্রয়েডে কোড ব্যবহার করে ImageView-এর মার্জিন সেট করার পদ্ধতি

  3. Toast.LENGTH_LONG-এর চেয়ে বড় ডুরেশন দিয়ে Android Toast দেখাবেন কীভাবে?

  4. Kotlin ব্যবহার করে Android-এ প্রোগ্রামেটিক্যালি ImageView-এর মার্জিন সেট করা