جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

اطلاعات شخصی شما برای پردازش سفارش شما استفاده می‌شود، و پشتیبانی از تجربه شما در این وبسایت، و برای اهداف دیگری که در سیاست حفظ حریم خصوصی توضیح داده شده است.

ارسال مجدد کد یکبار مصرف (00:60)
  • 02171058559
  • info@amooznegar.com
  • علاقمندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > Toast در اندروید

Toast در اندروید

1397-09-21
ارسال شده توسط آموزنگار
اندروید
Toast در اندروید

در طراحی اپلیکیشن‌های اندرویدی، گاهی نیاز داریم پیامی کوتاه و موقت به کاربر نمایش دهیم؛ مثلاً وقتی داده‌ای ذخیره می‌شود یا یک خطای ساده رخ می‌دهد. در چنین مواقعی از Toast استفاده می‌کنیم.
Toast یک پیام سبک، موقت و غیرتعاملی است که در پایین یا میانه‌ی صفحه ظاهر می‌شود و بعد از چند ثانیه ناپدید می‌شود.

در واقع، Toast یکی از ساده‌ترین روش‌ها برای اطلاع‌رسانی به کاربر بدون مزاحمت در جریان کار با اپلیکیشن است.


Toast در اندروید چیست؟

در اندروید، Toast یک کامپوننت UI (رابط کاربری) است که پیام‌های کوتاه را در صفحه به‌صورت موقت نمایش می‌دهد.
کاربر نمی‌تواند با Toast تعامل داشته باشد و نیازی به تأیید یا بستن آن ندارد.

برای مثال، فرض کنید کاربر دکمه‌ی “ذخیره” را می‌فشارد؛ می‌توان با یک Toast ساده پیغام زیر را نمایش داد:

داده‌ها با موفقیت ذخیره شدند ✅


نحوه ساخت یک Toast ساده

در اندروید استودیو، ساخت Toast بسیار ساده است. با استفاده از متد makeText() می‌توان پیام دلخواه را ایجاد کرد و با show() آن را نمایش داد.

مثال:

 
Toast.makeText(context, "سلام! این یک Toast ساده است", Toast.LENGTH_SHORT).show();

🔹 توضیح پارامترها:

  • context: معمولاً همان Activity فعلی است.

  • "سلام! ...": متن پیام.

  • Toast.LENGTH_SHORT یا Toast.LENGTH_LONG: مدت زمان نمایش Toast.


مدت زمان نمایش Toast

Toast به‌صورت پیش‌فرض دو زمان نمایش دارد:

  • Toast.LENGTH_SHORT → حدود ۲ ثانیه

  • Toast.LENGTH_LONG → حدود ۳.۵ ثانیه

اگر بخواهید مدت نمایش را سفارشی کنید، می‌توانید از Handler یا Custom Toast استفاده کنید (در ادامه توضیح داده می‌شود).

 

Toast در اندروید


مکان نمایش Toast

به‌صورت پیش‌فرض، Toast در پایین صفحه ظاهر می‌شود. اما می‌توانید با استفاده از متد setGravity() موقعیت آن را تغییر دهید:

 
Toast toast = Toast.makeText(context, "پیام در وسط صفحه", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

🔸 در این مثال، پیام Toast در وسط صفحه نمایش داده می‌شود.
می‌توانید از مقادیر دیگری مانند Gravity.TOP, Gravity.BOTTOM, Gravity.RIGHT, Gravity.LEFT نیز استفاده کنید.

۲۰ ابزار برتر برای توسعه اپلیکیشن های اندروید
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

ساخت Toast سفارشی (Custom Toast)

اگر بخواهید ظاهر Toast را شخصی‌سازی کنید، می‌توانید از یک فایل Layout XML اختصاصی استفاده کنید.

۱. ابتدا یک فایل Layout بسازید (مثلاً custom_toast.xml):

 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:padding="12dp"
android:background="@drawable/bg_toast"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<ImageView
android:src="@drawable/ic_check"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="8dp"/>

<TextView
android:id="@+id/toast_text"
android:text="عملیات موفق بود"
android:textColor="@android:color/white"
android:textSize="16sp"/>
</LinearLayout>

۲. سپس در Activity آن را فراخوانی کنید:

 
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast, null);

Toast toast = new Toast(getApplicationContext());
toast.setView(layout);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();

🔹 با این روش، می‌توانید Toastهایی با رنگ، آیکون و فونت سفارشی ایجاد کنید.


Toast با ViewBinding در Kotlin

در پروژه‌های جدید اندروید، بسیاری از توسعه‌دهندگان از Kotlin + ViewBinding استفاده می‌کنند. نمونه‌ی زیر، نحوه ساخت Toast با Kotlin را نشان می‌دهد:

 
val toast = Toast.makeText(this, "ثبت با موفقیت انجام شد", Toast.LENGTH_SHORT)
toast.setGravity(Gravity.CENTER, 0, 0)
toast.show()

و برای Toast سفارشی:

 
val binding = CustomToastBinding.inflate(layoutInflater)
binding.toastText.text = "موفقیت‌آمیز!"
val toast = Toast(applicationContext)
toast.view = binding.root
toast.duration = Toast.LENGTH_LONG
toast.show()

نمایش Toast در Fragment

نمایش Toast در Fragment نیز مشابه Activity است. فقط باید از requireContext() استفاده کنید:

 
Toast.makeText(requireContext(), "در Fragment هستیم!", Toast.LENGTH_SHORT).show()

نمایش چند Toast پشت سر هم

گاهی ممکن است چند Toast به‌صورت متوالی اجرا شوند و روی هم بیایند. برای جلوگیری از این حالت، بهتر است قبل از نمایش Toast جدید، Toast قبلی را لغو کنید:

 
var currentToast: Toast? = null

fun showToast(message: String) {
currentToast?.cancel()
currentToast = Toast.makeText(this, message, Toast.LENGTH_SHORT)
currentToast?.show()
}


تفاوت Toast با Snackbar

اگرچه Toast برای پیام‌های کوتاه و سریع مناسب است، اما Snackbar در Material Design جایگزین مدرن‌تری است.

ویژگی Toast Snackbar
موقعیت پایین یا وسط صفحه پایین صفحه
تعامل کاربر ندارد دارد (مثلاً دکمه Undo)
طراحی مدرن خیر بله
قابلیت بستن دستی ندارد دارد

اگر می‌خواهید تجربه کاربری بهتری ارائه دهید، در بسیاری از پروژه‌ها توصیه می‌شود از Snackbar به‌جای Toast استفاده کنید.


نکات و خطاهای متداول

  • اگر در Thread غیر UI از Toast استفاده کنید، ممکن است خطا بگیرید؛ حتماً در UI Thread اجرا شود.

  • در برخی دستگاه‌ها، محدودیت زمانی Toast اعمال می‌شود و طولانی‌تر از مقدار استاندارد نمایش داده نمی‌شود.

  • در اندروید ۱۳ به بعد، سیستم نمایش Toast تغییر کرده و از AppOverlay Toast پشتیبانی نمی‌کند (نیاز به Context دقیق دارد).


سوالات متداول درباره Toast در اندروید

۱. آیا می‌توان مدت نمایش Toast را بیشتر از LENGTH_LONG تنظیم کرد؟
خیر، اما با استفاده از Handler یا CountDownTimer می‌توانید Toast را چندبار پشت سر هم نمایش دهید تا طولانی‌تر شود.

۲. آیا Toast فقط در Activity قابل نمایش است؟
خیر، در Fragment و Service هم می‌توانید از Toast استفاده کنید؛ کافی است Context درست را پاس دهید.

۳. چگونه می‌توان فونت یا رنگ متن Toast را تغییر داد؟
باید از Custom Toast و Layout اختصاصی استفاده کنید.


جمع‌بندی

Toast در اندروید ابزاری ساده ولی بسیار کاربردی برای نمایش اطلاع‌رسانی‌های سریع است. با استفاده از آن می‌توانید بدون ایجاد وقفه در رابط کاربری، پیام‌های مهمی مانند موفقیت، هشدار یا خطا را به کاربر نمایش دهید.
با یادگیری ساخت Toastهای سفارشی، می‌توانید تجربه‌ی کاربری جذاب‌تر و حرفه‌ای‌تری در اپلیکیشن خود ایجاد کنید.

قبلی گردل در اندروید ؟ آموزش کامل تنظیم و ساخت پروژه در اندروید استودیو
بعدی کتاب آموزشی جاوا برای برنامه نویسان اندروید

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • لینوکس
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob Compose coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، ازگل ، مجتمع تجاری الماس ایرانیان، پارک علم و فناوری فردا

021-71058559

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

ورود
با شماره موبایل
با آدرس ایمیل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
بازنشانی رمزعبور
با شماره موبایل
با آدرس ایمیل
ثبت نام
با شماره موبایل
با آدرس ایمیل
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط