pull/2292/head
Horis 2 years ago
parent e7041d19df
commit 37e0ad4ac3
  1. 6
      app/src/main/java/io/legado/app/ui/book/read/BaseReadBookActivity.kt
  2. 88
      app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt

@ -123,7 +123,11 @@ abstract class BaseReadBookActivity :
if (toolBarHide) {
setLightStatusBar(ReadBookConfig.durConfig.curStatusIconDark())
} else {
val statusBarColor = ThemeStore.statusBarColor(this, AppConfig.isTransparentStatusBar)
val statusBarColor = if (AppConfig.readBarStyleFollowPage && ReadBookConfig.durConfig.curBgType() == 0) {
ReadBookConfig.bgMeanColor
} else {
ThemeStore.statusBarColor(this, AppConfig.isTransparentStatusBar)
}
setLightStatusBar(ColorUtils.isColorLight(statusBarColor))
}
}

@ -56,24 +56,23 @@ class ReadMenu @JvmOverloads constructor(
private val menuBottomOut: Animation by lazy {
loadAnimation(context, R.anim.anim_readbook_bottom_out)
}
private val bgColor: Int
get() = if(AppConfig.readBarStyleFollowPage && ReadBookConfig.durConfig.curBgType() == 0){
Color.parseColor(ReadBookConfig.durConfig.curBgStr())
}else{
context.bottomBackground
}
private val textColor: Int
get() = if(AppConfig.readBarStyleFollowPage && ReadBookConfig.durConfig.curBgType() == 0){
ReadBookConfig.durConfig.curTextColor()
}else{
context.getPrimaryTextColor(ColorUtils.isColorLight(bgColor))
}
private val immersiveMenu: Boolean
get() = AppConfig.readBarStyleFollowPage && ReadBookConfig.durConfig.curBgType() == 0
private var bgColor: Int = if (immersiveMenu) {
Color.parseColor(ReadBookConfig.durConfig.curBgStr())
} else {
context.bottomBackground
}
private var textColor: Int = if (immersiveMenu) {
ReadBookConfig.durConfig.curTextColor()
} else {
context.getPrimaryTextColor(ColorUtils.isColorLight(bgColor))
}
private val bottomBackgroundList: ColorStateList
get() = Selector.colorBuild()
.setDefaultColor(bgColor)
.setPressedColor(ColorUtils.darkenColor(bgColor))
.create()
private var bottomBackgroundList: ColorStateList = Selector.colorBuild()
.setDefaultColor(bgColor)
.setPressedColor(ColorUtils.darkenColor(bgColor))
.create()
private var onMenuOutEnd: (() -> Unit)? = null
private val showBrightnessView
get() = context.getPrefBoolean(
@ -158,15 +157,22 @@ class ReadMenu @JvmOverloads constructor(
fabNightTheme.setImageResource(R.drawable.ic_brightness)
}
initAnimation()
val bgColor = this@ReadMenu.bgColor
val textColor = this@ReadMenu.textColor
val bottomBackgroundList = this@ReadMenu.bottomBackgroundList
val lightTextColor = ColorUtils.withAlpha(ColorUtils.lightenColor(textColor),0.75f)
titleBar.setTextColor(textColor)
titleBar.setBackgroundColor(bgColor)
titleBar.setColorFilter(textColor)
tvChapterName.setTextColor(lightTextColor)
tvChapterUrl.setTextColor(lightTextColor)
if (immersiveMenu) {
val lightTextColor = ColorUtils.withAlpha(ColorUtils.lightenColor(textColor), 0.75f)
titleBar.setTextColor(textColor)
titleBar.setBackgroundColor(bgColor)
titleBar.setColorFilter(textColor)
tvChapterName.setTextColor(lightTextColor)
tvChapterUrl.setTextColor(lightTextColor)
} else {
val bgColor = context.primaryColor
val textColor = context.primaryTextColor
titleBar.setTextColor(textColor)
titleBar.setBackgroundColor(bgColor)
titleBar.setColorFilter(textColor)
tvChapterName.setTextColor(textColor)
tvChapterUrl.setTextColor(textColor)
}
val brightnessBackground = GradientDrawable()
brightnessBackground.cornerRadius = 5F.dpToPx()
brightnessBackground.setColor(ColorUtils.adjustAlpha(bgColor, 0.5f))
@ -195,19 +201,39 @@ class ReadMenu @JvmOverloads constructor(
seekBrightness.post {
seekBrightness.progress = AppConfig.readBrightness
}
if(AppConfig.showReadTitleBarAddition){
if (AppConfig.showReadTitleBarAddition) {
titleBarAddition.visible()
}else{
} else {
titleBarAddition.gone()
}
}
fun reset(){
fun reset() {
upColorConfig()
initView()
}
fun refreshMenuColorFilter(){
binding.titleBar.setColorFilter(textColor)
fun refreshMenuColorFilter() {
if (immersiveMenu) {
binding.titleBar.setColorFilter(textColor)
}
}
private fun upColorConfig() {
bgColor = if (immersiveMenu) {
Color.parseColor(ReadBookConfig.durConfig.curBgStr())
} else {
context.bottomBackground
}
textColor = if (immersiveMenu) {
ReadBookConfig.durConfig.curTextColor()
} else {
context.getPrimaryTextColor(ColorUtils.isColorLight(bgColor))
}
bottomBackgroundList = Selector.colorBuild()
.setDefaultColor(bgColor)
.setPressedColor(ColorUtils.darkenColor(bgColor))
.create()
}
fun upBrightnessState() {

Loading…
Cancel
Save