Android低版本使用Android 12启动页面

发布一下 0 0

1.在 build.gradle 文件中,更改 compileSdkVersion(需要大于等于31),并在依赖项中添加 SplashScreen compat 库。

build.gradleandroid {  compileSdkVersion 31    ...}dependencies {     ...    implementation 'androidx.core:core-splashscreen:1.0.0-alpha01'}

2.创建一个以Theme.SplashScreen为父级的主题,并将 postSplashScreenTheme 的值设为 Activity的主题,同时将 windowSplashScreenAnimatedIcon 设为静态或动态图片。其他属性可视需要进行设置。

<style name="Theme.App.Starting" parent="Theme.SplashScreen">  #启动页背景色  <item name="windowSplashScreenBackground">@color/white</item>  #icon 支持静态和动画    <item name="windowSplashScreenAnimatedIcon">@mipmap/ic_launcher</item>  # 动画时长  <item name="windowSplashScreenAnimationDuration">200</item>  #启动页退出后的Activity主题    <item name="postSplashScreenTheme">@style/Theme.SchoolApp</item></style>

3.AndroidManifest.xml中,将启动的activity 的主题替换为上一步创建的主题。

<activity  android:name=".ui.activity.SplashActivity"  android:theme="@style/Theme.App.Starting"  android:exported="true">    <intent-filter>         <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.LAUNCHER" />      </intent-filter></activity>

4.在SplashActivity中,先调用installSplashScreen,然后再调用 setContentView。

override fun onCreate(savedInstanceState: Bundle?) {  val splashScreen = installSplashScreen()  super.onCreate(savedInstanceState)  splashScreen.setKeepOnScreenCondition { true }  Timer().schedule(1000L) {    startActivity<MainActivity>()    finish()  }}

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/61284.html