优化
This commit is contained in:
@@ -2,12 +2,14 @@
|
|||||||
|
|
||||||
package io.legado.app.lib.theme
|
package io.legado.app.lib.theme
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.drawable.GradientDrawable
|
import android.graphics.drawable.GradientDrawable
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
|
import io.legado.app.help.AppConfig
|
||||||
import io.legado.app.utils.ColorUtils
|
import io.legado.app.utils.ColorUtils
|
||||||
import io.legado.app.utils.dp
|
import io.legado.app.utils.dp
|
||||||
|
|
||||||
@@ -116,7 +118,18 @@ val Fragment.isDarkTheme: Boolean
|
|||||||
get() = requireContext().isDarkTheme
|
get() = requireContext().isDarkTheme
|
||||||
|
|
||||||
val Context.elevation: Float
|
val Context.elevation: Float
|
||||||
get() = ThemeStore.elevation(this)
|
@SuppressLint("PrivateResource")
|
||||||
|
get() {
|
||||||
|
return if (AppConfig.elevation < 0) {
|
||||||
|
ThemeUtils.resolveFloat(
|
||||||
|
this,
|
||||||
|
android.R.attr.elevation,
|
||||||
|
resources.getDimension(R.dimen.design_appbar_elevation)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
AppConfig.elevation.dp.toFloat()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val Context.filletBackground: GradientDrawable
|
val Context.filletBackground: GradientDrawable
|
||||||
get() {
|
get() {
|
||||||
|
|||||||
@@ -285,19 +285,6 @@ private constructor(private val mContext: Context) : ThemeStoreInterface {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("PrivateResource")
|
|
||||||
@CheckResult
|
|
||||||
fun elevation(context: Context): Float {
|
|
||||||
return prefs(context).getFloat(
|
|
||||||
ThemeStorePrefKeys.KEY_ELEVATION,
|
|
||||||
ThemeUtils.resolveFloat(
|
|
||||||
context,
|
|
||||||
android.R.attr.elevation,
|
|
||||||
context.resources.getDimension(R.dimen.design_appbar_elevation)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@CheckResult
|
@CheckResult
|
||||||
@ColorInt
|
@ColorInt
|
||||||
fun bottomBackground(context: Context = appCtx): Int {
|
fun bottomBackground(context: Context = appCtx): Int {
|
||||||
|
|||||||
@@ -27,6 +27,4 @@ object ThemeStorePrefKeys {
|
|||||||
const val KEY_APPLY_PRIMARYDARK_STATUSBAR = "apply_primarydark_statusbar"
|
const val KEY_APPLY_PRIMARYDARK_STATUSBAR = "apply_primarydark_statusbar"
|
||||||
const val KEY_APPLY_PRIMARY_NAVBAR = "apply_primary_navbar"
|
const val KEY_APPLY_PRIMARY_NAVBAR = "apply_primary_navbar"
|
||||||
const val KEY_AUTO_GENERATE_PRIMARYDARK = "auto_generate_primarydark"
|
const val KEY_AUTO_GENERATE_PRIMARYDARK = "auto_generate_primarydark"
|
||||||
|
|
||||||
const val KEY_ELEVATION = "elevation"
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,7 @@ import io.legado.app.data.entities.SearchBook
|
|||||||
import io.legado.app.databinding.DialogChapterChangeSourceBinding
|
import io.legado.app.databinding.DialogChapterChangeSourceBinding
|
||||||
import io.legado.app.help.AppConfig
|
import io.legado.app.help.AppConfig
|
||||||
import io.legado.app.help.BookHelp
|
import io.legado.app.help.BookHelp
|
||||||
|
import io.legado.app.lib.theme.elevation
|
||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
||||||
import io.legado.app.ui.book.source.manage.BookSourceActivity
|
import io.legado.app.ui.book.source.manage.BookSourceActivity
|
||||||
@@ -113,6 +114,7 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
|||||||
binding.ivHideToc.setOnClickListener {
|
binding.ivHideToc.setOnClickListener {
|
||||||
binding.clToc.gone()
|
binding.clToc.gone()
|
||||||
}
|
}
|
||||||
|
binding.flHideToc.elevation = requireContext().elevation
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initRecyclerView() {
|
private fun initRecyclerView() {
|
||||||
|
|||||||
@@ -61,8 +61,7 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|||||||
viewPagerMain.offscreenPageLimit = 3
|
viewPagerMain.offscreenPageLimit = 3
|
||||||
viewPagerMain.adapter = TabFragmentPageAdapter(supportFragmentManager)
|
viewPagerMain.adapter = TabFragmentPageAdapter(supportFragmentManager)
|
||||||
viewPagerMain.addOnPageChangeListener(PageChangeCallback())
|
viewPagerMain.addOnPageChangeListener(PageChangeCallback())
|
||||||
bottomNavigationView.elevation =
|
bottomNavigationView.elevation = elevation
|
||||||
if (AppConfig.elevation < 0) elevation else AppConfig.elevation.toFloat()
|
|
||||||
bottomNavigationView.setOnNavigationItemSelectedListener(this@MainActivity)
|
bottomNavigationView.setOnNavigationItemSelectedListener(this@MainActivity)
|
||||||
bottomNavigationView.setOnNavigationItemReselectedListener(this@MainActivity)
|
bottomNavigationView.setOnNavigationItemReselectedListener(this@MainActivity)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import androidx.annotation.StringRes
|
|||||||
import androidx.appcompat.widget.PopupMenu
|
import androidx.appcompat.widget.PopupMenu
|
||||||
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.help.AppConfig
|
|
||||||
import io.legado.app.lib.theme.*
|
import io.legado.app.lib.theme.*
|
||||||
import io.legado.app.utils.ColorUtils
|
import io.legado.app.utils.ColorUtils
|
||||||
import io.legado.app.utils.visible
|
import io.legado.app.utils.visible
|
||||||
@@ -28,8 +27,7 @@ class SelectActionBar @JvmOverloads constructor(
|
|||||||
|
|
||||||
init {
|
init {
|
||||||
setBackgroundColor(context.bottomBackground)
|
setBackgroundColor(context.bottomBackground)
|
||||||
elevation =
|
elevation = context.elevation
|
||||||
if (AppConfig.elevation < 0) context.elevation else AppConfig.elevation.toFloat()
|
|
||||||
val textIsDark = ColorUtils.isColorLight(context.bottomBackground)
|
val textIsDark = ColorUtils.isColorLight(context.bottomBackground)
|
||||||
val primaryTextColor = context.getPrimaryTextColor(textIsDark)
|
val primaryTextColor = context.getPrimaryTextColor(textIsDark)
|
||||||
val secondaryTextColor = context.getSecondaryTextColor(textIsDark)
|
val secondaryTextColor = context.getSecondaryTextColor(textIsDark)
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import androidx.annotation.StyleRes
|
|||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.help.AppConfig
|
|
||||||
import io.legado.app.lib.theme.elevation
|
import io.legado.app.lib.theme.elevation
|
||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.utils.activity
|
import io.legado.app.utils.activity
|
||||||
@@ -155,11 +154,7 @@ class TitleBar @JvmOverloads constructor(
|
|||||||
setBackgroundColor(context.primaryColor)
|
setBackgroundColor(context.primaryColor)
|
||||||
|
|
||||||
stateListAnimator = null
|
stateListAnimator = null
|
||||||
elevation = if (AppConfig.elevation < 0) {
|
elevation = context.elevation
|
||||||
context.elevation
|
|
||||||
} else {
|
|
||||||
AppConfig.elevation.toFloat()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
a.recycle()
|
a.recycle()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user