优化
This commit is contained in:
@@ -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()) {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
* 编辑替换规则
|
||||
*/
|
||||
class ReplaceEditActivity :
|
||||
VMBaseActivity<ActivityReplaceEditBinding, ReplaceEditViewModel>(false),
|
||||
VMBaseActivity<ActivityReplaceEditBinding, ReplaceEditViewModel>(),
|
||||
KeyboardToolPop.CallBack {
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -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>()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user