شاید برای شما هم پیش آمده باشد که در برنامه اندرویدی خود، نیاز پیدا کنید تا پیامی را برای مدت مشخص به کاربر نمایش دهید. مثلا بنویسید که برای خروج از برنامه دکمه Back را دو بار فشار دهید. تا مثلا انجام نشدن یک عملیات را به کاربر اطلاع دهید. این حالات به نحوی هستند که صفحه یا مکان خاصی ندارند و در هر زمانی از اجرای برنامه ممکن است اتفاق بیافتند. در چنین مواقعی به کمک Toast میتوان پیامی متنی را برای مدتی خاص به کاربر نشان داد. در این مطلب میخواهیم نحوه استفاده از Toast در برنامههای اندرویدی را فرا بگیریم. حتما در برنامههای اندرویدی این گونه پیام را مشاهده کردهاید. نمونه پیام آن به صورت شکل زیر نمایش داده میشود.
[divider]
نمایش پیام با Toast
برای نمایش پیام با این روش، کافیست از کد زیر استفاده کنید:
Toast.makeText(Context ctx, CharSequence str, int duration).show();
همانطور که در کد بالا نمایان است، Toast سه پارامتر ورودی دارد. اول Context که یک Interface به اطلاعات عمومی برنامه است. مقدار آن را با توابع getApplicationContext و یا getActivity و… میتوان بدست آورد. پارامتر دوم متنی است که میخواهیم نمایش دهیم و پارامتر سوم مدت زمان نمایش پیام بر حسب میلی ثانیه است. برای پارامتر سوم ثابتهای Toast.LENGTH_LONG و Toast.LENGTH_SHORT به ترتیب برای نمایش به مدت ۳٫۵ ثانیه و ۲ ثانیه قابل استفاده هستند. نمونه کد زیر پیام “این یک نمونه Toast است” را برای مدت ۳٫۵ ثانیه نمایش خواهد داد:
Toast.makeText(getApplicationContext(),"این یک نمونه Toast است", Toast.LENGTH_LONG).show();
همچنین میتوان تنظیماتی را بر روی Toast اعمال کرد. به طور مثال، پیام را در وسط صفحه(یا هر موقعیت دیگری) نمایش داد، و یا برای کادر پیام، layout دلخواه تعیین کرد. نمونهای از نحوهی استفاده از این تنظیمات در کدهای زیر نمایش داده شده است:
نمایش کادر پیام Toast در وسط صفحه
Toast toast = Toast.makeText(getApplicationContext(),"این یک نمونه Toast است", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.show();
[divider]
نمایش layout دلخواه در Toast
ابتدا فایل xml مربوط به Layout مورد نظرتان را طراحی کنید و سپس از کد زیربرای این کار استفاده کنید.
//Creating the LayoutInflater instance LayoutInflater li = getLayoutInflater(); //Getting the View object as defined in the customtoast.xml file View layout = li.inflate(R.layout.customtoast,(ViewGroup) findViewById(R.id.custom_toast_layout)); Toast toast = Toast.makeText(getApplicationContext(),"این یک نمونه Toast است", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setMargin(0,0); toast.setView(layout); toast.show();
جهت دسترسی به مطالب بیشتر در مورد اندروید به دست مربوطه مراجعه کنید.
موفق و پیروز باشید…