💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ سورنا قاسم زاده
سوال درباره ی Toast
مهرداد حل شده توسط مهرداد

استاد سلام 

خسته نباشید

بنده یه سوال داشتم

من وقتی چند بار پشت سر هم روی checkBox‌ها کلیک میکنم Toast‌ها خیلی دیر نمایش داده میشن، باید حتما منتظر بمونیم که توست اول تموم بشه تا بعدی بیاد 
آیا راهی هست که بتونیم این مشکل رو برطرف کنیم؟

سلام

ببینید تو device's واقعی من تست کردم اینجوری نیست ظاهرا فقط تو شبیه ساز اینجوری نشون میده و گرنه تو واقعیت  رو هر کدوم بزنی سریعا همون رو نشون میده(البته اگر راه حلی باشه که بشه همون شبیه ساز رو هم درست کنیم ازش بی خبرم )

اما یه نکته کوچلو در موردشون  

اما در مورد Toast‌ها ظاهرا میشه جا‌های مختلف صفحه نشون داد مثلا من واسه یه case  در ساختار switch به شکل زیر نوشتم  و از یکی از کلاس‌های Toast استفاده کردم به نام setGravity که سه ورودی میگیره 

1.int gravity => که همون مفهوم شبیه به gravity  تو view groups هاست که کجا نشون داده بشه بالا ، چپ وسط و...

2.int xOffset=> اینم  message toast هر جا باشه به اندزه این عدد از اون مکان در راستای محور x فاصله میگیره منفی بدی میره چپ مثبت میره راست 

3. int yOffset=> اینم  message toast هر جا باشه به اندزه این عدد از اون مکان در راستای محور y ،البته بگم اینجا برنامه نویسش اینجا سوتی داده 

چون منفی بدی به جای اینکه بیاد پایین میره بالا خلاصه ریاضیش با ریاضی بقیه فرق داره  :-)

case R.id.radioButton_main_alborz:
                        Toast toast = Toast.makeText(MainActivity.this, "alborz selected", Toast.LENGTH_SHORT);
                        toast.setGravity(Gravity.BOTTOM | Gravity.LEFT, 0, 0);
                        toast.show();
                        // Toast.makeText(MainActivity.this, "alborz selected", Toast.LENGTH_SHORT).show();
                        break;

اما می‌تونید داخل همون IDEتون رو Toast  ، کنترل+ کلیک بزنید و برید بقیه متد‌های های  این کلاس رو بخونید یا هم از  اینجا می‌تونید بیشتر بخونید .

 
بهترین پاسخ
مهرداد ۰۸ دی ۱۳۹۸، ۱۲:۰۹