Przeglądaj źródła

漫画与听书的弹窗问题

HapeLee 1 rok temu
rodzic
commit
b393711c9f

+ 11 - 2
app/src/main/java/io/legato/kazusa/ui/book/audio/AudioPlayActivity.kt

@@ -16,6 +16,7 @@ import android.os.Bundle
 import android.view.HapticFeedbackConstants
 import android.view.Menu
 import android.view.MenuItem
+import androidx.activity.addCallback
 import androidx.activity.viewModels
 import androidx.appcompat.content.res.AppCompatResources
 import androidx.core.graphics.scale
@@ -143,8 +144,9 @@ class AudioPlayActivity :
             com.google.android.material.R.attr.colorSecondaryContainer,
             -1
         )
+        setSupportActionBar(binding.toolBar)
+        binding.toolBar.setTitle(" ")
         binding.titleBar.setBackgroundResource(R.color.transparent)
-        binding.titleBar.title = ""
         AudioPlay.register(this)
         viewModel.titleData.observe(this) {
             binding.tvTitle.text = it
@@ -154,6 +156,13 @@ class AudioPlayActivity :
         }
         viewModel.initData(intent)
         initView()
+        onBackPressedDispatcher.addCallback(this){
+            if (savedInstanceState != null || !AudioPlay.inBookshelf) {
+                finish()
+            } else {
+                supportFinishAfterTransition()
+            }
+        }
     }
 
     override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
@@ -515,7 +524,7 @@ class AudioPlayActivity :
         primaryFinalColor = colorPrimary
         secondaryContainerFinalColor = colorSecondaryContainer
 
-        binding.titleBar.toolbar.setAllIconsColor(colorOnSurface)
+        binding.toolBar.setAllIconsColor(colorOnSurface)
         binding.progressLoading.setIndicatorColor(colorPrimary)
         binding.settingSlider.tickActiveTintList = ColorStateList.valueOf(colorSurface)
         binding.settingSlider.tickInactiveTintList = ColorStateList.valueOf(colorPrimary)

+ 1 - 2
app/src/main/java/io/legato/kazusa/ui/book/manga/ReadMangaActivity.kt

@@ -43,7 +43,6 @@ import io.legato.kazusa.help.storage.Backup
 import io.legato.kazusa.lib.dialogs.SelectItem
 import io.legato.kazusa.lib.dialogs.alert
 import io.legato.kazusa.lib.dialogs.selector
-import io.legato.kazusa.model.ReadBook
 import io.legato.kazusa.model.ReadManga
 import io.legato.kazusa.receiver.NetworkChangedListener
 import io.legato.kazusa.ui.book.changesource.ChangeBookSourceDialog
@@ -200,7 +199,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
                 ?: MangaFooterConfig()
 
         onBackPressedDispatcher.addCallback(this){
-            if (savedInstanceState != null || !ReadBook.inBookshelf) {
+            if (savedInstanceState != null || !ReadManga.inBookshelf) {
                 finish()
             } else {
                 supportFinishAfterTransition()

+ 10 - 2
app/src/main/res/layout/activity_audio_play.xml

@@ -21,11 +21,19 @@
         android:alpha="0.80"
         android:background="?attr/colorSurfaceContainer" />
 
-    <io.legato.kazusa.ui.widget.TitleBar
+    <com.google.android.material.appbar.AppBarLayout
         android:id="@+id/title_bar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent" />
+        android:fitsSystemWindows="true"
+        app:layout_constraintTop_toTopOf="parent" >
+        <com.google.android.material.appbar.MaterialToolbar
+            android:id="@+id/tool_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title=" "
+            app:navigationIcon="@drawable/ic_arrow_back"/>
+    </com.google.android.material.appbar.AppBarLayout>
 
     <com.google.android.material.card.MaterialCardView
         android:id="@+id/cd_cover"