روش صحیح ساخت اسپلش اسکرین در اندروید
حتماً صفحات اسپلش اسکرین را در شروع هر اپلیکیشن دیده اید. صفحات اسپلش اسکرین در واقع صفحاتی هستند که در ابتدای هر اپلیکیشن موبایل اجرا شده و معمولاً حاوی نام برنامه، لوگو، ورژن و … می باشد. این صفحات گاهی اوقات باعث خسته شدن کاربر می شود زیرا در هر بار باز کردن برنامه مجبور هستند برای چند ثانیه کوتاه هم که شده به آن تصاویر خیره شود.
شاید تعجب کنید زیرا گوگل از این صفحات طرفداری می کند و آن ها را جزئی از طراحی متریال می داند.
همیشه اینطور نبوده و گوگل قبلاً از صفحات اسپلش اسکرین طرفداری می کرد حتی آن را anti-pattern نیز نامید.
اکنون گوگل می گوید اسپلش اسکرین وقت کاربر را هدر می دهد و استفاده از آن درست نیست لطفاً این کار را نکنید.
برنامه نویسان برای این کار یک وقفه چند ثانیه ای در کد ایجاد می کنند تا باعث ساخت صفحه اسپلش اسکرین شوند ولی راه اصولی آن را انجام نمی دهند در ادامه ما روش صحیح را به شما آموزش می دهیم.
برنامه های اندروید در هنگام شروع مقداری وقت می گیرند. این تأخیر در شروع برنامه ها به چشم می آید و بهتر است ما بجای نمایش یک صفحه خالی به کاربر تصویر زیباتری نمایش دهیم. این نکته ای است که گوگل از آن حمایت می کند.
اگر به بروزرسانی های اخیر گوگل نگاهی بیندازید استفاده درست و مناسب از اسپلش اسکرین را مشاهده می کنید. به عنوان مثال به برنامه یوتیوب نگاه کنید.
مدت زمانی که اسپلش اسکرین نمایش داده می شود دقیقاً همان زمانی است که برنامه برای پیکربندی خود به آن نیاز دارد. اگر برنامه در حافظه کش باشد اسپلش اسکرین بلافاصله از بین می رود ولی در حالت عادی که برنامه نویسان انجام می دهند علاوه بر زمان مورد نیاز برای پیکربندی، زمان در نظر گرفته در اپلیکیشن را هم باید منتظر بمانند.
پیاده سازی اسپلش اسکرین
روش صحیح قرار دادن اسپلش اسکرین خیلی متفاوت تر از چیزی است که شما تصور می کنید. یک صفحه اسپلش باید بلافاصله آماده شود حتی قبل از اینکه شما بتوانید یک فایل لایوت را در اکتیویتی اسپلش خود inflate کنید.
بنابراین شما از فایل لایوت استفاده نمی کنید در عوض پس زمینه اسپلش اسکرین را به عنوان پس زمینه اکتیویتی خود معرفی می کنید. برای این کار به یک فایل xml به نام background_splash در پوشه res/ drawable ایجاد کنید.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/gray"/>
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</item>
</layer-list>
در کد بالا ما یک رنگ پس زمینه و یک تصویر قرار داده ایم.
در مرحله بعدی این فایل را به عنوان پس زمینه اکتیویتی خود تنظیم می کنیم. به فایل style.xml بروید و یک تم جدید برای اکتیویتی اسپلش خود انتخاب کنید:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
</resources>
در SplashTheme جدید فایل xml خود را که در darwable ایجاد کردید، در ویژگی android:windowBackground قرار دهید. سپس برای پیکربندی اکتیویتی اسپلش خود آن را مانند زیر در فایل AndroidManifest.xml تعریف کنید:
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
در آخر باید کلاس SplashActivity را به MainActivity هدایت کنیم:
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
}
توجه کنید که ما حتی یک view هم برای SplashActivity تنظیم نکرده ایم. این view، از تم تنظیم شده ناشی می شود. وقتی شما یک UI را برای SplashActivity به عنوان تم تنظیم می کنید آن تم فوراً فعال می شود.
اگر یک فایل لایوت برای اکتیویتی splash داشته باشید، آن فایل لایوت تنها بعد از راهاندازی کامل برنامه شما برای کاربر قابلرؤیت خواهد بود که این خیلی دیر است یعنی بعد از پیکربندی برنامه، اسپلش نمایش داده می شود و کاربر هنوز باید منتظر بماند. در روش آموزش داده شده هنگام پیکربندی برنامه، اسپلش اسکرین نمایش داده می شود و زمان خیلی کمتر از روش قدیمی است.
با انجام مراحل فوق شما یک اسپلش اسکرین دارید که به روش صحیح آن را ایجاد کرده اید.
با استفاده از این آموزش می توانید صفحه اسپلش خود را به درستی ایجاد کنید تا وقت کاربر هدر نرود و دقت کنید که صفحه اسپلش را تصویر خوبی قرار دهید تا کاربر آن را مشاهده کند.
1 دیدگاه
اولین کسی باشید که در مورد این مطلب اظهار نظر می کند.
بسیار عالی