إضافات تحسينية على درس Splash screen
أَبْدَأُ بِاسْمِ اللَّهِ مُسْتَعِينَا رَاضٍ بِهِ مُدَبِّرًا مُعِينَا
والصلاة والسلام على نبينا محمد
اما بعد,
في هذا الدرس وسف يتم عمل بعض التحسينات البسيطة على الكود وعلى شاشة Splash
أولا سوف يتم كتابة الكود الخاص بتشغيل شاشة Splsh في فنكشن مستقل (في السابق كان مكتوب مباشرة داخل النفكشن الرئيسية) وسوف يكون نوع الفنكشن خاص (private) بمعنى أنه لايمكن استدعائها من خارج كلاس Splash كمايلي:
الكود قبل التعديل:
class SplashScreen : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash_screen)
Timer().schedule(object : TimerTask(){
override fun run(){
val intent = Intent(this@SplashScreen, MainActivity::class.java)
startActivity(intent)
finish()
}
}, 2000L)
}
}
بعد التعديل:
class SplashScreen : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash_screen) this.startSplashScreen(); } private fun startSplashScreen(){ Timer().schedule(object : TimerTask(){ override fun run(){ val intent = Intent(this@SplashScreen, MainActivity::class.java) startActivity(intent) finish() } }, 2000L) }
من نا حية الفرق فلا يوجد فرق في عمل الكود لكن بكتابة الكود في فنكشن مستقل يكون الكود اسهل في الكتابة واسهل في التعديل ويكتفى فقط بستدعاء اسم الفنكشن داخل الفنكشن الرئيسية بستخدام كلمة this. قبل اسم الفنكشن كما هو موضح:
this.startSplashScreen();
لكن في حالة الاستمرار في كتابة الأكواد داخل الفنكشن الرئيسية (onCreate) سوف يصعب التعامل مع الكود ويصعب قراءة ويصبح الوضع كماهو موضح في الصورة التالية:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
في شاشة Splash يجب حذف المكان المحدد باللون الأزرق الذي يحتوي على اسم التطبيق حتى تكون الشاشة كاملة كما هو موضح في الصورة التالية:
للحذف افتح ملف AndroidMainifest.xml كما هو موضح في الصورة التالية:
ثم قم بتغير السطر المحدد باللون الأحمر
من
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.riyadhi.share">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity
android:name=".SplashScreen"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_splash_screen"
android:theme="@style/FullscreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
إلى
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.riyadhi.share">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity
android:name=".SplashScreen"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_splash_screen"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
هذا السطر يعني أنه سوف يتم عرض الصفحة بدون أكشن بار (الموجود باللون الأزرق)
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
النهاية
محتوى الدورة
مقدمة | |
---|---|
1 | متطلبات الدورة |
2 | فكرة التطبيق |
3 | رسم الشاشات |
4 | مقدمة في البرمجة |
5 | مقدمة في البرمجة (الجزء الثاني) |
6 | بناء المشروع بستخدام Android Studio |
تطبيق شير | |
1 | بناء شاشة Splash screen |
2 | كلاس spalsh screen |
3 | إضافات تحسينية على درس Splash screen الدرس الحالي |
4 | استعراض بيانات الدورات |
عن الدرس
1 إعجاب |
1 متابع |
0 مشاركة |
1595 مشاهدات |
منذ 6 سنوات |
التعليقات (0)
عرض المزيد.. جديد دوراتي
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !