بسم الله الرحمن الرحيم
والصلاة والسلام على أشرف المرسلين
سيدنا محمد وعلى آله وصحبه أجمعين
لكى تصل تطبيقاتك إلى الإحترافية ، يكون من الأفضل أن تبدأ بمقدمة تظهر مع بداية فتح التطبيق تحتوى على شعار خاص بالتطبيق، هذه المقدمة تسمى الشاشة المتلاشية أو Splash screen ، وفى هذا الموضوع سأعرض كيفية إنشاء مقدمة بسيطة بإستخدام برنامج Android Studio مع شرح الأكواد وإليك الخطوات :
الخطوة الأولى : بدء مشروع جديد
1- فتح مشروع جديد بإستخدام برنامج أندرويد ستوديو File > New Project (راجع كيف تبدأ إنشاء تطبيق أندرويد)2- أكتب إسم التطبيق و إختر Minimum SDK ثم إضغط Next
3- من النافذة التالية إختر Empty activity ثم Next ثم Finish
5- قم بتسمية هذه الصورة splash_image
6- قم بنسخ هذه الصورة ولصقها داخل ملف drawable الموجود بالتطبيق كما بالصورة
الخطوة الثانية : إدراج صورة مناسبة كمقدمة للتطبيق
4- تجهيز صورة لإستخدامها كشاشة بدء بصيغة jpeg أو png وبأبعاد 800×12805- قم بتسمية هذه الصورة splash_image
6- قم بنسخ هذه الصورة ولصقها داخل ملف drawable الموجود بالتطبيق كما بالصورة
7- ثم من خلال ملفات التطبيق إضغط كليك يمين على ملف Layout كما بالصورة
هذا الكود خاص بأبعاد الصورة
Layout >>New>>Layout resource file
8- قم بتسمية الملف splash.xml ثم إضغط OK
وإنسخ بتبويب 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>
الخطوة الثالثة: أضف أكواد الجافا
9- إذهب إلى ملف java داخل ملفات التطبيق ثم إختر الــ package الخاص بتطبيقك وإضغط عليه كليك يمين ثم إختر New >>Java Class
وقم بتسميته SplashScreen 10-ثم إنسخ الكود التالى وقم بلصقه بتبويب Text لــ SplashScreen
** فائدة هذا الكود أنه يؤدى إلى توقف عمل الشاشة المتلاشية بعد فترة محددة ولا يسمح للعودة مرة أخرى إلى هذه الشاشة المتلاشية إذا ضغط المستخدم زر back
App > Manifests > AndroidManifest.xml
ثم إنسخ الكود التالى بملف AndroidManifest.xmlpackage com.condaianllkhir.httpwww.splash;إستبدل السطر الملون باللون الأحمر بإسم الــ package الخاص بك
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();
}
}
** فائدة هذا الكود أنه يؤدى إلى توقف عمل الشاشة المتلاشية بعد فترة محددة ولا يسمح للعودة مرة أخرى إلى هذه الشاشة المتلاشية إذا ضغط المستخدم زر back
الخطوة الرابعة :إضافة SplashScreen Activity إلى ملف AndroidManifest.xml
11- قم بفتح مجلد التطبيق وتوجه إلى ملف AndroidManifest.xml كما بالصورةApp > Manifests > 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>
** فائدة هذا الكود : لابد من إضافة SplashScreen Activity إلى ملف AndroidManifest.xml ليتم التعرف عليها و بدء التطبيق بالشاشة المتلاشية
الخطوة الخامسة: معاينة التطبيق
بذلك نكون قد أتممنا إنشاء الـشاشة المتلاشية ويمكن معاينتها بإستخدام المحاكى أو على الهاتف مباشرةمصدر الأكواد المستخدمة بالشرح coderefer
تنبيه : المرجو عدم نسخ الموضوع بدون ذكر مصدره المرفق بالرابط المباشر للموضوع الأصلي وإسم المدونة وشكرا