ساخت صفحه ی Splash در اندروید
![ساخت صفحه ی Splash در اندروید](https://www.majidonline.com/file/width/800/506/matlab6.jpg 1x, https://www.majidonline.com/file/width/1600/506/matlab6.jpg 2x)
دارالترجمه رسمی
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
افزونه های سئو وردپرس
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
مشاوره و خدمات سئو
آژانس تخصصی "انجام سئو"؛ ارائه خدمات حرفه ای سئو سایت
آژانس تخصصی "انجام سئو"؛ ارائه خدمات حرفه ای سئو سایت
افزونه فرم ساز آسان
فرم ساز آسان اولین فرم ساز کاملا فارسی وردپرس
فرم ساز آسان اولین فرم ساز کاملا فارسی وردپرس
خرید ورق گالوانیزه رنگی
خرید انواع ورق گالوانیزه رنگی با بهترین قیمت
خودتان را اینجا معرفی کنید
خرید انواع ورق گالوانیزه رنگی با بهترین قیمت
اگر برای اپلیکیشن اندروید خود صفحه ی Splash تعریف نکنید هنگام اجرای اپلیکیشن شما در موبایل کاربر، به صورت پیشفرض صفحه ای مشکی با عنوان برنامه شما به کاربر نمایش داده میشود و سپس به اکتیویتی اصلی برنامه میرود، برای جلوگیری از این کار باید صفحه ی Splash برای اپ خود بسازید، ، پس از دیدن صفحه ی Splash کاربران باید به اکتیویتی اصلی برنامه هدایت شوند و نکته ی مهمی که وجود دارد این میباشید که کاربران نباید با زدن دکمه ی Back گوشی بتوانند به صفحه ی Splash دسترسی پیدا کنند.
ابتدا یک صفحه xml میسازیم به اسم splashscreen.xml و صفحه ای که به عنوان صفحه ی splash میخواهیم نشان بدهیم را طراحی میکنیم، برای مثال میتوانیم از این قطعه کد ساده استفاده کنیم :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, splash"/>
</LinearLayout>
سپس باید کد Java را وارد کنیم، یک کلاس به اسم Splash بسازید، قطعه کد زیر را در آن وارد کنید، در ادامه نحوه کارکرد این کد را توضیح خواهم داد :
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class Splash extends Activity {
private final int SPLASH_DISPLAY_LENGTH = 2000;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.splashscreen);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent mainIntent = new Intent(Splash.this, SplashScreenActivity.class);
Splash.this.startActivity(mainIntent);
Splash.this.finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
}
یک متغیر به اسم SPLASH_DISPLAY_LENGTH تعریف کردیم که در آن زمان مورد نیاز برای نشان دادن صفحه Splash را به میلی ثانیه وارد میکنیم. سپس یک Handler میسازیم، استفاده از Handler و runnable به این دلیل است که اپلیکیشن ما ارورهای مربوط به Thread UI ندهد و روان اجرا شود، اگر به مفاهیم برنامه نویسی همزمانی یا Concurrent Programming تسلط ندارید میتوانید از این قسمت کد به صورت کلیشه در پروژه هایتان استفاده کنید. در نهایت هم در متد run با استفاده از intent در اندروید از اکتیویتی splash به اکتیویتی مورد نظرمان در برنامه میرویم.
نکته
فایل Manifest فراموش نشود وگرنه تمام زحمات شما به باد میرود !! در فایل منیفست باید اولین اکتیویتی که آغازگر برنامه میباشد را اکتیویتی Splash معرفی کنیم و بعد اکتیویتی های مربوط به برنامه خودمان را معرفی کنیم، برای مثال کد Manifest ما باید شبیه به کد زیر باشد :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="splashscreen.me.here"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SplashScreenActivity"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
نظرات و سوالات کاربران
عالی بود!