آموزش ساخت صفحه اسپلش در اندروید استدیو

خرداد 25, 1397| علی شیرالی
آموزش نحوه ساختن Splash Screen | مارکت سورس اندروید ریور

صفحه اسپلش یا 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>

و همه چیز مثل پایان یه تردستی ، فوق العاده بود . ترکوندیم ..

همچنین بخوانید :  آموزش رفع خطا NullPointerException در اندروید استدیو
5/5 (1 Review)
علی شیرالی CO-Founder نویسنده مقاله

بنیانگذار مارکت اندروید ریور و گاهی هم گیم باز 🎮 و صد البته یه عاشق فیلمسازی 🎬 و عکاسی 📷 که چندین گام جدی هم توی این زمینه برداشته..



می تونی علی شیرالی رو توی شبکه های اجتماعی هم دنبال کنی ...

مقالات مرتبط را بخوانید :


سورس های اندروید شامل تخفیف رو ببین !


  تخفیف ها و اخبار ویژه رو در تلگراممون دنبال کن :)
به این مقاله امتیاز دهید :
5/5 (1 Review)
  خرید سورس های حرفه ای بازی و اپلیکیشن اندروید

دسته‌ها: آموزش برنامه نویسی اندروید

دیدگاهتان را بنویسید

راهنما : برای نوشتن موارد مختلف در دیدگاه می توانید از راهنمای نگارش اندروید ریور استفاده کنید : نگارش کد کوتاه `your code`
نگارش کد بلند یا نگارش بخش عمده یک سورس کد :
[sourcecode lang="your code language"] your code here [/sourcecode]