Horis 2 yıl önce
ebeveyn
işleme
5a024d2d02

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/info/edit/BookInfoEditActivity.kt

@@ -32,7 +32,7 @@ import splitties.init.appCtx
 import java.io.FileOutputStream
 
 class BookInfoEditActivity :
-    VMBaseActivity<ActivityBookInfoEditBinding, BookInfoEditViewModel>(fullScreen = false),
+    VMBaseActivity<ActivityBookInfoEditBinding, BookInfoEditViewModel>(),
     ChangeCoverDialog.CallBack {
 
     private val selectCover = registerForActivityResult(SelectImageContract()) {

+ 34 - 30
app/src/main/java/io/legado/app/ui/book/read/BaseReadBookActivity.kt

@@ -5,14 +5,13 @@ import android.app.DatePickerDialog
 import android.content.pm.ActivityInfo
 import android.os.Build
 import android.os.Bundle
-import android.view.Gravity
 import android.view.KeyEvent
 import android.view.View
-import android.view.ViewGroup.LayoutParams.MATCH_PARENT
 import android.view.WindowInsets
 import android.view.WindowManager
-import android.widget.FrameLayout
 import androidx.activity.viewModels
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
 import androidx.core.view.isVisible
 import io.legado.app.R
 import io.legado.app.base.VMBaseActivity
@@ -43,8 +42,6 @@ import io.legado.app.utils.find
 import io.legado.app.utils.getPrefString
 import io.legado.app.utils.gone
 import io.legado.app.utils.isTv
-import io.legado.app.utils.navigationBarGravity
-import io.legado.app.utils.navigationBarHeight
 import io.legado.app.utils.setLightStatusBar
 import io.legado.app.utils.setNavigationBarColorAuto
 import io.legado.app.utils.showDialogFragment
@@ -86,6 +83,13 @@ abstract class BaseReadBookActivity :
         setOrientation()
         upLayoutInDisplayCutoutMode()
         super.onCreate(savedInstanceState)
+        ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, windowInsets ->
+            val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
+            binding.navigationBar.run {
+                layoutParams = layoutParams.apply { height = insets.bottom }
+            }
+            windowInsets
+        }
     }
 
     override fun onActivityCreated(savedInstanceState: Bundle?) {
@@ -213,7 +217,7 @@ abstract class BaseReadBookActivity :
     }
 
     override fun upNavigationBarColor() {
-//        upNavigationBar()
+        upNavigationBar()
         when {
             binding.readMenu.isVisible -> super.upNavigationBarColor()
             bottomDialog > 0 -> super.upNavigationBarColor()
@@ -226,30 +230,30 @@ abstract class BaseReadBookActivity :
     private fun upNavigationBar() {
         binding.navigationBar.run {
             if (bottomDialog > 0 || binding.readMenu.isVisible) {
-                val navigationBarHeight =
-                    if (ReadBookConfig.hideNavigationBar) navigationBarHeight else 0
-                when (navigationBarGravity) {
-                    Gravity.BOTTOM -> layoutParams =
-                        (layoutParams as FrameLayout.LayoutParams).apply {
-                            height = navigationBarHeight
-                            width = MATCH_PARENT
-                            gravity = Gravity.BOTTOM
-                        }
-
-                    Gravity.LEFT -> layoutParams =
-                        (layoutParams as FrameLayout.LayoutParams).apply {
-                            height = MATCH_PARENT
-                            width = navigationBarHeight
-                            gravity = Gravity.LEFT
-                        }
-
-                    Gravity.RIGHT -> layoutParams =
-                        (layoutParams as FrameLayout.LayoutParams).apply {
-                            height = MATCH_PARENT
-                            width = navigationBarHeight
-                            gravity = Gravity.RIGHT
-                        }
-                }
+//                val navigationBarHeight =
+//                    if (ReadBookConfig.hideNavigationBar) navigationBarHeight else 0
+//                when (navigationBarGravity) {
+//                    Gravity.BOTTOM -> layoutParams =
+//                        (layoutParams as FrameLayout.LayoutParams).apply {
+//                            height = navigationBarHeight
+//                            width = MATCH_PARENT
+//                            gravity = Gravity.BOTTOM
+//                        }
+//
+//                    Gravity.LEFT -> layoutParams =
+//                        (layoutParams as FrameLayout.LayoutParams).apply {
+//                            height = MATCH_PARENT
+//                            width = navigationBarHeight
+//                            gravity = Gravity.LEFT
+//                        }
+//
+//                    Gravity.RIGHT -> layoutParams =
+//                        (layoutParams as FrameLayout.LayoutParams).apply {
+//                            height = MATCH_PARENT
+//                            width = navigationBarHeight
+//                            gravity = Gravity.RIGHT
+//                        }
+//                }
                 visible()
             } else {
                 gone()

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt

@@ -55,7 +55,7 @@ import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
 class BookSourceEditActivity :
-    VMBaseActivity<ActivityBookSourceEditBinding, BookSourceEditViewModel>(false),
+    VMBaseActivity<ActivityBookSourceEditBinding, BookSourceEditViewModel>(),
     KeyboardToolPop.CallBack,
     VariableDialog.Callback {
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt

@@ -23,7 +23,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
  * 编辑替换规则
  */
 class ReplaceEditActivity :
-    VMBaseActivity<ActivityReplaceEditBinding, ReplaceEditViewModel>(false),
+    VMBaseActivity<ActivityReplaceEditBinding, ReplaceEditViewModel>(),
     KeyboardToolPop.CallBack {
 
     companion object {

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt

@@ -67,7 +67,7 @@ import java.util.regex.PatternSyntaxException
 /**
  * rss阅读界面
  */
-class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>(false) {
+class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>() {
 
     override val binding by viewBinding(ActivityRssReadBinding::inflate)
     override val viewModel by viewModels<ReadRssViewModel>()

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt

@@ -44,7 +44,7 @@ import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
 class RssSourceEditActivity :
-    VMBaseActivity<ActivityRssSourceEditBinding, RssSourceEditViewModel>(false),
+    VMBaseActivity<ActivityRssSourceEditBinding, RssSourceEditViewModel>(),
     KeyboardToolPop.CallBack,
     VariableDialog.Callback {
 

+ 14 - 1
app/src/main/java/io/legado/app/ui/widget/SelectActionBar.kt

@@ -9,11 +9,19 @@ import android.widget.FrameLayout
 import androidx.annotation.MenuRes
 import androidx.annotation.StringRes
 import androidx.appcompat.widget.PopupMenu
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
 import io.legado.app.R
 import io.legado.app.databinding.ViewSelectActionBarBinding
-import io.legado.app.lib.theme.*
+import io.legado.app.lib.theme.TintHelper
+import io.legado.app.lib.theme.accentColor
+import io.legado.app.lib.theme.bottomBackground
+import io.legado.app.lib.theme.elevation
+import io.legado.app.lib.theme.getPrimaryTextColor
+import io.legado.app.lib.theme.getSecondaryDisabledTextColor
 import io.legado.app.utils.ColorUtils
 import io.legado.app.utils.visible
+import splitties.views.bottomPadding
 
 
 @Suppress("unused")
@@ -46,6 +54,11 @@ class SelectActionBar @JvmOverloads constructor(
             binding.btnRevertSelection.setOnClickListener { callBack?.revertSelection() }
             binding.btnSelectActionMain.setOnClickListener { callBack?.onClickSelectBarMainAction() }
             binding.ivMenuMore.setOnClickListener { selMenu?.show() }
+            ViewCompat.setOnApplyWindowInsetsListener(this) { _, windowInsets ->
+                val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
+                binding.root.bottomPadding = insets.bottom
+                windowInsets
+            }
         }
     }
 

+ 0 - 1
app/src/main/res/layout/activity_book_source_edit.xml

@@ -10,7 +10,6 @@
         android:id="@+id/title_bar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        app:fitStatusBar="false"
         app:title="@string/edit_book_source" />
 
     <HorizontalScrollView

+ 0 - 1
app/src/main/res/layout/activity_replace_edit.xml

@@ -13,7 +13,6 @@
         android:layout_height="wrap_content"
         app:contentInsetStartWithNavigation="0dp"
         app:displayHomeAsUp="true"
-        app:fitStatusBar="false"
         app:title="@string/replace_rule_edit" />
 
     <androidx.core.widget.NestedScrollView

+ 0 - 1
app/src/main/res/layout/activity_rss_read.xml

@@ -15,7 +15,6 @@
             android:id="@+id/title_bar"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            app:fitStatusBar="false"
             app:layout_constraintTop_toTopOf="parent" />
 
         <io.legado.app.ui.rss.read.VisibleWebView

+ 0 - 1
app/src/main/res/layout/activity_rss_source_edit.xml

@@ -12,7 +12,6 @@
         android:layout_height="wrap_content"
         app:contentInsetStartWithNavigation="0dp"
         app:displayHomeAsUp="true"
-        app:fitStatusBar="false"
         app:title="@string/rss_source_edit" />
 
     <HorizontalScrollView