From 43b7b39ec6b14200c147137f4cc4c1113a114ef3 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Mon, 22 Sep 2025 01:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 24 +++++---- .../io/legato/kazusa/ui/main/MainActivity.kt | 10 ---- .../kazusa/ui/welcome/SplashActivity.kt | 51 +++++++++++++++++++ app/src/main/res/layout/activity_splash.xml | 6 +++ 4 files changed, 72 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt create mode 100644 app/src/main/res/layout/activity_splash.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0236a8ffc..6f0815c32 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -39,7 +39,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher0" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> @@ -51,7 +51,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher1" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> @@ -64,7 +64,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher2" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> @@ -77,7 +77,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher3" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> @@ -90,7 +90,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher4" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> @@ -103,7 +103,7 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher5" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> @@ -116,16 +116,15 @@ android:enabled="false" android:exported="true" android:icon="@mipmap/launcher6" - android:targetActivity=".ui.main.MainActivity"> + android:targetActivity=".ui.welcome.SplashActivity"> - @@ -134,6 +133,13 @@ + + + (), override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - if (LocalConfig.isFirstOpenApp) { - startActivity() - finish() - return - } - - if (savedInstanceState == null && getPrefBoolean(PreferKey.defaultToRead)) { - startActivity() - } - if (savedInstanceState != null) { pagePosition = savedInstanceState.getInt("currentPagePosition", 0) } diff --git a/app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt b/app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt new file mode 100644 index 000000000..9a04d7f6f --- /dev/null +++ b/app/src/main/java/io/legato/kazusa/ui/welcome/SplashActivity.kt @@ -0,0 +1,51 @@ +package io.legato.kazusa.ui.welcome + +import android.annotation.SuppressLint +import android.content.Intent +import android.os.Bundle +import androidx.core.app.ActivityOptionsCompat +import androidx.core.content.ContextCompat.startActivity +import androidx.core.view.postDelayed +import com.google.android.material.transition.platform.MaterialSharedAxis +import io.legato.kazusa.base.BaseActivity +import io.legato.kazusa.constant.PreferKey +import io.legato.kazusa.databinding.ActivitySplashBinding +import io.legato.kazusa.help.config.LocalConfig +import io.legato.kazusa.ui.book.read.ReadBookActivity +import io.legato.kazusa.ui.main.MainActivity +import io.legato.kazusa.utils.getPrefBoolean +import io.legato.kazusa.utils.viewbindingdelegate.viewBinding + +@SuppressLint("CustomSplashScreen") +class SplashActivity : BaseActivity() { + override val binding by viewBinding(ActivitySplashBinding::inflate) + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + window.exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, /* forward= */ true) + window.reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, /* forward= */ false) + + if (LocalConfig.isFirstOpenApp) { + startActivity( + Intent(this, WelcomeActivity::class.java), + ActivityOptionsCompat.makeSceneTransitionAnimation(this).toBundle() + ) + finish() + return + } + + if (getPrefBoolean(PreferKey.defaultToRead)) { + startActivity(Intent(this, ReadBookActivity::class.java), + ActivityOptionsCompat.makeSceneTransitionAnimation(this).toBundle() + ) + finish() + return + } + + startActivity(Intent(this, MainActivity::class.java), + ActivityOptionsCompat.makeSceneTransitionAnimation(this).toBundle()) + finish() + } +} + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml new file mode 100644 index 000000000..77d9ef65f --- /dev/null +++ b/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file