بسم الله الرحمن الرحيم

والصلاة والسلام على أشرف المرسلين

سيدنا محمد وعلى آله وصحبه أجمعين

لكى تصل تطبيقاتك إلى الإحترافية ، يكون من الأفضل أن تبدأ بمقدمة تظهر مع بداية فتح التطبيق تحتوى على شعار خاص بالتطبيق، هذه المقدمة تسمى الشاشة المتلاشية أو Splash screen ، وفى هذا الموضوع سأعرض كيفية إنشاء مقدمة بسيطة بإستخدام برنامج   Android Studio مع شرح الأكواد وإليك الخطوات :
splash screen

الخطوة الأولى : بدء مشروع جديد

1- فتح مشروع جديد بإستخدام برنامج أندرويد ستوديو File > New Project (راجع كيف تبدأ إنشاء تطبيق أندرويد
2- أكتب إسم التطبيق و إختر Minimum SDK ثم إضغط Next
3- من النافذة التالية إختر Empty activity ثم Next ثم Finish

الخطوة الثانية : إدراج صورة مناسبة كمقدمة للتطبيق

4- تجهيز صورة لإستخدامها كشاشة بدء بصيغة jpeg أو png وبأبعاد  800×1280
5- قم بتسمية هذه الصورة splash_image
6- قم بنسخ هذه الصورة ولصقها داخل ملف drawable الموجود بالتطبيق كما بالصورة
android studio Tutorials

7- ثم من خلال ملفات التطبيق إضغط كليك يمين على ملف Layout كما بالصورة
Layout >>New>>Layout resource file
android studio Tutorials
8- قم بتسمية الملف  splash.xml ثم إضغط OK
android studio Tutorials
وإنسخ بتبويب Text لملف splash.xml الكود التالى:
هذا الكود خاص بأبعاد الصورة

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_image"
android:orientation="vertical">

</LinearLayout>
android studio Tutorials

الخطوة الثالثة: أضف أكواد الجافا

9- إذهب إلى ملف java داخل ملفات التطبيق ثم إختر الــ package الخاص بتطبيقك وإضغط عليه كليك يمين ثم إختر New >>Java Class
android studio Tutorials
وقم بتسميته SplashScreen
android studio Tutorials
 10-ثم إنسخ الكود التالى وقم بلصقه بتبويب Text لــ SplashScreen
package com.condaianllkhir.httpwww.splash;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

/**
* Created by DrRO on 7-Nov-16.
*/
public class SplashScreen extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);

Thread timerThread = new Thread(){
public void run(){
try{
sleep(3000);
}catch(InterruptedException e){
e.printStackTrace();
}finally{
Intent intent = new Intent(SplashScreen.this,MainActivity.class);
startActivity(intent);
}
}
};
timerThread.start();
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}

}
إستبدل السطر الملون باللون الأحمر بإسم الــ package الخاص بك
** فائدة هذا الكود  أنه يؤدى إلى توقف عمل الشاشة المتلاشية بعد فترة محددة ولا يسمح للعودة مرة أخرى إلى هذه الشاشة المتلاشية إذا ضغط المستخدم زر back

 الخطوة الرابعة :إضافة SplashScreen Activity إلى ملف AndroidManifest.xml

11- قم بفتح مجلد التطبيق وتوجه إلى ملف AndroidManifest.xml كما بالصورة
App > Manifests > AndroidManifest.xml
android studio Tutorials
ثم إنسخ الكود التالى بملف AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.condaianllkhir.httpwww.splash" >

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<activity
android:name=".SplashScreen"
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=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.condaianllkhir.httpwww.splash" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>

</manifest>
إستبدل السطور الملونة باللون الأحمر بإسم الــ package الخاص بك
** فائدة هذا الكود : لابد من إضافة SplashScreen Activity إلى ملف AndroidManifest.xml ليتم التعرف عليها و بدء التطبيق بالشاشة المتلاشية

الخطوة الخامسة: معاينة التطبيق

بذلك نكون قد أتممنا إنشاء الـشاشة المتلاشية ويمكن معاينتها بإستخدام المحاكى أو على الهاتف مباشرة

مصدر الأكواد المستخدمة بالشرح coderefer
تنبيه : المرجو عدم نسخ الموضوع بدون ذكر مصدره المرفق بالرابط المباشر للموضوع الأصلي وإسم المدونة وشكرا
By