تا به اینجای کار ظاهرا همه چیز خوب پیش رفته. اما کافیست یکبار امتحان کنید و بعد از انتقال به اکتیویتی اصلی، دکمه Back یا برگشت اندروید را بزنید. مشاهده می کنید به جای اینکه از اپلیکیشن خارج شوید، مجددا اسپلش اسکرین نمایش داده می شود! در صورتی که ماهیت اسپلش بر این است که فقط و فقط یک بار در هر اجرا نمایش داده شود. کافی است بعد از دستور مربوط به اینتنت، با دستور finish() این مشکل را برطرف کنیم:
1
2
3
4
5
6
7
8
9
|
new Handler().postDelayed( new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashActivity. this , MainActivity. class );
startActivity(i);
finish();
}
}, ۳۰۰۰); |
دستور finish باعث می شود تا اکتیویتی بعد از سپری شدن تایم مشخص شده، بسته شود و امکان برگشت به آن وجود نداشته باشد.
هدف ما در این آموزش اجرای اسپلش اسکرین بود اما طبق ضرب المثل کار را که کرد آن که تمام کرد”، بد نیست ما هم کار را تمام کرده و یک نمونه دیزاین صفحه SplashScreen را هم تمرین کنیم.
قصد داریم اسپلش ما شامل یک رنگ پس زمینه و لوگو باشد. در مباحث قبل مطرح شد که تصاویری که قصد استفاده از آنها درون اپلیکیشن داریم را باید درون پوشه drawable قرار داد. فایل تصویر لوگو را کپی کرده و روی فولدر drawable راست کلیک و سپس paste می کنیم:
البته خارج از محیط اندروید استودیو نیز می توان تصویر یا هر فایل دیگر را در مسیری که پروژه ساخته شده قرار داد. توسط ویژگی android:src نیز مسیر تصویر را تعیین می کنیم (عکس مدنظر ما android_logo.png نام دارد).
activity_splash.xml :
درباره این سایت