
صفحه اسپلش یا Splash screen در طراحی و توسعه اپلیکیشن ها و بازی ها به پای ثابت استاندارد ها تبدیل شده و کمتر برنامه ای را می یابید که صفحه اسپلش برای آن در نظر گرفته نشده باشه .
چه برای زیبایی کار و چه فرصتی مطلوب برای پردازش های قبل از شروع برنامه زیرا کاربر انتظار دارد بعد از استارت برنامه همه چیز را آماده ببیند و جالب نیست تا کاربر تک تک پردازش ها و روند تکمیل دیزاین اکتیویتی را ببیند که اسپلش اسکرین این فرصت رو ایجاد میکند تا کاربر بعد از اتمام کار پردازش ، همه چیز را آماده بیاید.
در این مقاله که در وبلاگ مارکت اندروید ریور منتشر شده خواهید آموخت چطور یک Splash Screen ایجاد کنید.
نحوه ساخت صفحه اسپلش اپلیکیشن اندروید
گام اول : در اندروید استدیو ، یک پروژه جدید بسازید و نوع اکتیویتی را روی Empty Activity
قرار بدید
گام دوم : سپس لی اوت مربوط به اکیتیوتی Main رو از طریق مسیر Res>Layout
رو باز کنید
گام سوم : کد زیر را درون لی اوت قرار دهید :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="androidriver.com.splashscreen.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World by androidriver.net!" android:textSize="20sp" android:layout_centerInParent="true"/> </RelativeLayout>
گام چهارم : حالا یک فایل xml
دیگه مثلا با نام splashsc بسازید
و کد زیر رو توی این لی اوت جایگزاری کنید . این Layout محل قرار گرفتن لوگو و نام اپلیکیشن شماست که برای مدتی قبل از اجرا برنامه به عنوان اسپلش اسکرین به کاربر نمایش داده میشه.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:background="@color/splashBackground"> <ImageView android:id="@+id/logo_id" android:layout_width="250dp" android:layout_height="250dp" android:layout_centerInParent="true" android:src="@drawable/androidriver"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/logo_id" android:layout_centerHorizontal="true" android:text="Splash Screen" android:textSize="30dp" android:textColor="@color/blue"/> </RelativeLayout>
گام پنجم : حالا کافیه اکتیویتی Main یا اصلی برنامه که قرار است بعد از نمایش Splash Screen به کاربر نمایش داده بشه رو بسازید و Public class
اون رو تعریف کنید
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
گام ششم : حالا برای اجرا صفحه اسپلش یک اکتیویتی جدا گانه برای به عنوان SplashScreenActivity.java
( یا هر نام دیگری ) می سازیم و یک تایمر تعریف میکنیم تا به برنامه بگیم چه مدت زمان روی این اکتیویتی صبر کنه و بعد از این مکث اقدام بعدیش دقیقا چه چیزی باشه
برای اینکار باید تایم رو بر اساس میلی ثانیه تعریف کنیم که هر 1000 میلی ثانیه برابری میکنه با 1 ثانیه خب بزن بریم :
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class SplashActivity extends Activity { Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splashfile); handler=new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { Intent intent=new Intent(SplashActivity.this,MainActivity.class); startActivity(intent); finish(); } },3000); } }
کد بالا ، رو در اکتیویتی که برای اسپلش اسکرین برنامه ساختیم جای گزاری میکنیم
گام نهایی : به عنوان کار نهایی و اتمام عملکرد فوق العاده خودمون ، کافیه فایل AndroidManifest.xml
رو باز کنیم و بعد از اون تغییرات زیر رو در اون برای تعریف اینکه کدام اکتیویتی به عنوان اکتیویتی اول برنامه نمایش داده بشه اعمال می کنیم :
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
کافیه این intent-filter
رو توی تگ activity
هر اکتیویتی که میخوایم به عنوان اولین اکتیویتی برنامه اصطلاحا لانچ بشه قرار بدیم که در اینجا اکتیویتی مورد نظر ما SplashScreenActivity.java
هست که در نهایت شکل کد در مانیفست به این شکل میشه :
<activity android:name="androidriver.com.splashscreen.SplashActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
و همه چیز مثل پایان یه تردستی ، فوق العاده بود . ترکوندیم ..
علی شیرالی CO-Founder نویسنده مقاله
بنیانگذار مارکت اندروید ریور و گاهی هم گیم باز 🎮 و صد البته یه عاشق فیلمسازی 🎬 و عکاسی 📷 که چندین گام جدی هم توی این زمینه برداشته..
نگارش کد بلند یا نگارش بخش عمده یک سورس کد :