优化
This commit is contained in:
@@ -32,7 +32,7 @@ import splitties.init.appCtx
|
|||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
|
|
||||||
class BookInfoEditActivity :
|
class BookInfoEditActivity :
|
||||||
VMBaseActivity<ActivityBookInfoEditBinding, BookInfoEditViewModel>(fullScreen = false),
|
VMBaseActivity<ActivityBookInfoEditBinding, BookInfoEditViewModel>(),
|
||||||
ChangeCoverDialog.CallBack {
|
ChangeCoverDialog.CallBack {
|
||||||
|
|
||||||
private val selectCover = registerForActivityResult(SelectImageContract()) {
|
private val selectCover = registerForActivityResult(SelectImageContract()) {
|
||||||
|
|||||||
@@ -5,14 +5,13 @@ import android.app.DatePickerDialog
|
|||||||
import android.content.pm.ActivityInfo
|
import android.content.pm.ActivityInfo
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Gravity
|
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import android.widget.FrameLayout
|
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.VMBaseActivity
|
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.getPrefString
|
||||||
import io.legado.app.utils.gone
|
import io.legado.app.utils.gone
|
||||||
import io.legado.app.utils.isTv
|
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.setLightStatusBar
|
||||||
import io.legado.app.utils.setNavigationBarColorAuto
|
import io.legado.app.utils.setNavigationBarColorAuto
|
||||||
import io.legado.app.utils.showDialogFragment
|
import io.legado.app.utils.showDialogFragment
|
||||||
@@ -86,6 +83,13 @@ abstract class BaseReadBookActivity :
|
|||||||
setOrientation()
|
setOrientation()
|
||||||
upLayoutInDisplayCutoutMode()
|
upLayoutInDisplayCutoutMode()
|
||||||
super.onCreate(savedInstanceState)
|
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?) {
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||||
@@ -213,7 +217,7 @@ abstract class BaseReadBookActivity :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun upNavigationBarColor() {
|
override fun upNavigationBarColor() {
|
||||||
// upNavigationBar()
|
upNavigationBar()
|
||||||
when {
|
when {
|
||||||
binding.readMenu.isVisible -> super.upNavigationBarColor()
|
binding.readMenu.isVisible -> super.upNavigationBarColor()
|
||||||
bottomDialog > 0 -> super.upNavigationBarColor()
|
bottomDialog > 0 -> super.upNavigationBarColor()
|
||||||
@@ -226,30 +230,30 @@ abstract class BaseReadBookActivity :
|
|||||||
private fun upNavigationBar() {
|
private fun upNavigationBar() {
|
||||||
binding.navigationBar.run {
|
binding.navigationBar.run {
|
||||||
if (bottomDialog > 0 || binding.readMenu.isVisible) {
|
if (bottomDialog > 0 || binding.readMenu.isVisible) {
|
||||||
val navigationBarHeight =
|
// val navigationBarHeight =
|
||||||
if (ReadBookConfig.hideNavigationBar) navigationBarHeight else 0
|
// if (ReadBookConfig.hideNavigationBar) navigationBarHeight else 0
|
||||||
when (navigationBarGravity) {
|
// when (navigationBarGravity) {
|
||||||
Gravity.BOTTOM -> layoutParams =
|
// Gravity.BOTTOM -> layoutParams =
|
||||||
(layoutParams as FrameLayout.LayoutParams).apply {
|
// (layoutParams as FrameLayout.LayoutParams).apply {
|
||||||
height = navigationBarHeight
|
// height = navigationBarHeight
|
||||||
width = MATCH_PARENT
|
// width = MATCH_PARENT
|
||||||
gravity = Gravity.BOTTOM
|
// gravity = Gravity.BOTTOM
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
Gravity.LEFT -> layoutParams =
|
// Gravity.LEFT -> layoutParams =
|
||||||
(layoutParams as FrameLayout.LayoutParams).apply {
|
// (layoutParams as FrameLayout.LayoutParams).apply {
|
||||||
height = MATCH_PARENT
|
// height = MATCH_PARENT
|
||||||
width = navigationBarHeight
|
// width = navigationBarHeight
|
||||||
gravity = Gravity.LEFT
|
// gravity = Gravity.LEFT
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
Gravity.RIGHT -> layoutParams =
|
// Gravity.RIGHT -> layoutParams =
|
||||||
(layoutParams as FrameLayout.LayoutParams).apply {
|
// (layoutParams as FrameLayout.LayoutParams).apply {
|
||||||
height = MATCH_PARENT
|
// height = MATCH_PARENT
|
||||||
width = navigationBarHeight
|
// width = navigationBarHeight
|
||||||
gravity = Gravity.RIGHT
|
// gravity = Gravity.RIGHT
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
visible()
|
visible()
|
||||||
} else {
|
} else {
|
||||||
gone()
|
gone()
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ import kotlinx.coroutines.launch
|
|||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
class BookSourceEditActivity :
|
class BookSourceEditActivity :
|
||||||
VMBaseActivity<ActivityBookSourceEditBinding, BookSourceEditViewModel>(false),
|
VMBaseActivity<ActivityBookSourceEditBinding, BookSourceEditViewModel>(),
|
||||||
KeyboardToolPop.CallBack,
|
KeyboardToolPop.CallBack,
|
||||||
VariableDialog.Callback {
|
VariableDialog.Callback {
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
|
|||||||
* 编辑替换规则
|
* 编辑替换规则
|
||||||
*/
|
*/
|
||||||
class ReplaceEditActivity :
|
class ReplaceEditActivity :
|
||||||
VMBaseActivity<ActivityReplaceEditBinding, ReplaceEditViewModel>(false),
|
VMBaseActivity<ActivityReplaceEditBinding, ReplaceEditViewModel>(),
|
||||||
KeyboardToolPop.CallBack {
|
KeyboardToolPop.CallBack {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ import java.util.regex.PatternSyntaxException
|
|||||||
/**
|
/**
|
||||||
* rss阅读界面
|
* rss阅读界面
|
||||||
*/
|
*/
|
||||||
class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>(false) {
|
class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>() {
|
||||||
|
|
||||||
override val binding by viewBinding(ActivityRssReadBinding::inflate)
|
override val binding by viewBinding(ActivityRssReadBinding::inflate)
|
||||||
override val viewModel by viewModels<ReadRssViewModel>()
|
override val viewModel by viewModels<ReadRssViewModel>()
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ import kotlinx.coroutines.launch
|
|||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
class RssSourceEditActivity :
|
class RssSourceEditActivity :
|
||||||
VMBaseActivity<ActivityRssSourceEditBinding, RssSourceEditViewModel>(false),
|
VMBaseActivity<ActivityRssSourceEditBinding, RssSourceEditViewModel>(),
|
||||||
KeyboardToolPop.CallBack,
|
KeyboardToolPop.CallBack,
|
||||||
VariableDialog.Callback {
|
VariableDialog.Callback {
|
||||||
|
|
||||||
|
|||||||
@@ -9,11 +9,19 @@ import android.widget.FrameLayout
|
|||||||
import androidx.annotation.MenuRes
|
import androidx.annotation.MenuRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.appcompat.widget.PopupMenu
|
import androidx.appcompat.widget.PopupMenu
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.databinding.ViewSelectActionBarBinding
|
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.ColorUtils
|
||||||
import io.legado.app.utils.visible
|
import io.legado.app.utils.visible
|
||||||
|
import splitties.views.bottomPadding
|
||||||
|
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
@@ -46,6 +54,11 @@ class SelectActionBar @JvmOverloads constructor(
|
|||||||
binding.btnRevertSelection.setOnClickListener { callBack?.revertSelection() }
|
binding.btnRevertSelection.setOnClickListener { callBack?.revertSelection() }
|
||||||
binding.btnSelectActionMain.setOnClickListener { callBack?.onClickSelectBarMainAction() }
|
binding.btnSelectActionMain.setOnClickListener { callBack?.onClickSelectBarMainAction() }
|
||||||
binding.ivMenuMore.setOnClickListener { selMenu?.show() }
|
binding.ivMenuMore.setOnClickListener { selMenu?.show() }
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(this) { _, windowInsets ->
|
||||||
|
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||||
|
binding.root.bottomPadding = insets.bottom
|
||||||
|
windowInsets
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
android:id="@+id/title_bar"
|
android:id="@+id/title_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:fitStatusBar="false"
|
|
||||||
app:title="@string/edit_book_source" />
|
app:title="@string/edit_book_source" />
|
||||||
|
|
||||||
<HorizontalScrollView
|
<HorizontalScrollView
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:contentInsetStartWithNavigation="0dp"
|
app:contentInsetStartWithNavigation="0dp"
|
||||||
app:displayHomeAsUp="true"
|
app:displayHomeAsUp="true"
|
||||||
app:fitStatusBar="false"
|
|
||||||
app:title="@string/replace_rule_edit" />
|
app:title="@string/replace_rule_edit" />
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
android:id="@+id/title_bar"
|
android:id="@+id/title_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:fitStatusBar="false"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<io.legado.app.ui.rss.read.VisibleWebView
|
<io.legado.app.ui.rss.read.VisibleWebView
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:contentInsetStartWithNavigation="0dp"
|
app:contentInsetStartWithNavigation="0dp"
|
||||||
app:displayHomeAsUp="true"
|
app:displayHomeAsUp="true"
|
||||||
app:fitStatusBar="false"
|
|
||||||
app:title="@string/rss_source_edit" />
|
app:title="@string/rss_source_edit" />
|
||||||
|
|
||||||
<HorizontalScrollView
|
<HorizontalScrollView
|
||||||
|
|||||||
Reference in New Issue
Block a user