چگونه ایجاد یک اسپلش درست در صفحه ی اندروید
۰۳ اسفند ۹۶ ، ۲۳:۱۴
سجاد یوسف نیا ۰ نظر Share

چگونه ایجاد یک اسپلش درست در صفحه ی اندروید

یک راه درست برای اسپلش صفحه و یک روش نادرست برای اسپلش صفحه وجود دارد. انجام اشتباه آن باعث می شود تا کاربر بیش تر از اندازه ی لازم برای شروع استفاده از برنامه منتظر بماند. همچنین موجب ایجاد فلاش سفید می شود. که این از نظر بصری اصلا خوشایند و جالب نیست، مخصوصا اگر پس زمینه ی splash screen سفید نباشد. 

 

روش صحیح ساخت splash screen به صورت زیر است:

1- ساخت فایل splash_background.xml در فولدر res/drawable

2- ویرایش  res/values/styles.xml

3- ساخت java/…/SplashActivity

4- ویرایش manifests/AndroidManifest.xml

به ترتیب مراحل زیر کار می کنیم:

1- تنظیم gravity و dimensions تصویر bitmap 

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/colorPrimary"/>

    <item android:gravity="center" android:width="100dp" android:height="100dp">
        <bitmap
            android:gravity="fill_horizontal|fill_vertical"
            android:src="@drawable/logo"/>
    </item>

</layer-list>
 

2- ویرایش res/values/styles.xml

کد پایین، style مورد نظر ما برای splash است. اینطوری عمل می کند که هنگامی که splash screen فعال می شود ، action bar پنهان می شود.
 
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/splash_background</item>
    </style>

</resources>
3- ساخت java/…/SplashActivity
اسپلش اکتیویتی موقعی که برنامه باز می شود شروع می شود، و سپس تا آمدن mainActivity ، ترانزیشن می کند.
package com.example.jtdan.goodSplash;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //switch from splash activity to main activity
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

4- ویرایش manifests/AndroidManifest.xml

spalsh screen جدیدتان را در فایل manifest اضافه کنید.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.jtdan.goodSplash">

    <application

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="goodSplash"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name="com.example.jtdan.goodSplash.SplashActivity" android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="com.example.jtdan.goodSplash.MainActivity"></activity>

    </application>

</manifest>

به همین سادگی بود، ولی تفاوت چشمگیری ایجاد شده :)

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

تصاوير منتخب