مدیریت Splash Screen پیشفرض اندروید 12 و بالاتر

مدیریت Splash Screen پیشفرض اندروید 12 و بالاتر
در اندروید 12 و بالاتر یه splash screen اجباری برای همه اپلیکیشن ها قرار داده شده به این شکل که موقع باز شدن برنامه یه صفحه ای به کاربر نمایش داده میشه که در وسطش آیکون اون برنامه قرار داره.


طبق مستندات گوگل امکان مدیریت این صفحه وجود داره و در اینجا نحوه کنترلش در جاوا و کاتلین توضیح داده شده!

حالا ما میخوایم کنترل این صفحه رو در B4A هم به دست بگیریم:

ابتدا از طریق SDK Manager خود B4A مطمئن بشین که core-splashscreen رو نصب دارین.
بعد در قسمت Project Attributes پروژه خودتون این کد رو اضافه کنین:

#AdditionalJar: androidx.core:core-splashscreen

 

حالا کتابخونه appcompat رو تیک بزنین و این کد جاوا رو هم به اکتیویتی Main اضافه کنین:

 


#If JAVA
import androidx.core.splashscreen.SplashScreen;
public void _onCreate() {
SplashScreen splashScreen = SplashScreen.installSplashScreen(this);
}
#End If

 

تنظیمات اون صفحه کلا از طریق Manifest انجام میشه. پس Manifest رو باز کنین و کدهای زیر رو در اون قرار بدین:

 

SetActivityAttribute(Main, android:theme, "@style/Theme.App.Starting")
CreateResource(values, theme.xml,
<resources>
<style
name="DarkTheme" parent="@android:style/Theme.Material.Light.NoActionBar.Fullscreen">
<item name="android:windowBackground">#FF77BD8A</item>
</style>
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#FF77BD8A</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/icon</item>
<item name="windowSplashScreenAnimationDuration">200</item>
<item name="postSplashScreenTheme">@style/DarkTheme</item>
</style>
</resources>
)

 

همانطور که میبینین میتونیم Style مورد نظرمونو روی اون صفحه اعمال کنیم، رنگ پس زمینه، مدت زمان نمایش و یا حتی آیکون اون صفحه رو تغییر بدیم.
به جای #FF77BD8A رنگ مورد نظر خودتونو قرار بدین تا برای پس زمینه اعمال بشه.
اون آیکون هم در یک فضای دایره ای از قبل مشخص شده نمایش داده میشه پس حتما به اندازه آیکون توجه کنین تا از اون فضا بیرون نزنه یا زیاد کوچیک نباشه.

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