This commit is contained in:
Horis
2024-02-27 14:48:58 +08:00
parent dbb5e3256c
commit 1f895ce825
16 changed files with 70 additions and 21 deletions
@@ -26,6 +26,10 @@ object ReadTipConfig {
)
val tipNames get() = appCtx.resources.getStringArray(R.array.read_tip).toList()
val tipColorNames get() = appCtx.resources.getStringArray(R.array.tip_color).toList()
val tipDividerColorNames
get() = appCtx.resources.getStringArray(R.array.tip_divider_color).toList()
var tipHeaderLeft: Int
get() = ReadBookConfig.config.tipHeaderLeft
set(value) {
@@ -4,6 +4,7 @@ import android.content.Context
import android.graphics.Color
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatRadioButton
import androidx.appcompat.widget.TooltipCompat
import io.legado.app.R
import io.legado.app.lib.theme.Selector
import io.legado.app.lib.theme.accentColor
@@ -24,6 +25,7 @@ class ThemeRadioNoButton(context: Context, attrs: AttributeSet) :
typedArray.getBoolean(R.styleable.ThemeRadioNoButton_isBottomBackground, false)
typedArray.recycle()
initTheme()
TooltipCompat.setTooltipText(this, text)
}
private fun initTheme() {
@@ -11,6 +11,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.SeekBar
import androidx.appcompat.widget.TooltipCompat
import androidx.documentfile.provider.DocumentFile
import com.jaredrummler.android.colorpicker.ColorPickerDialog
import io.legado.app.R
@@ -220,6 +221,9 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) {
.setDialogId(BG_COLOR)
.show(requireActivity())
}
binding.tvBgColor.apply {
TooltipCompat.setTooltipText(this, text)
}
binding.ivImport.setOnClickListener {
selectImportDoc.launch {
mode = HandleFileContract.FILE
@@ -15,7 +15,7 @@ import io.legado.app.ui.widget.text.StrokeTextView
class TextFontWeightConverter(context: Context, attrs: AttributeSet?) :
StrokeTextView(context, attrs) {
private val spannableString = SpannableString("中/粗/细")
private val spannableString = SpannableString(context.getString(R.string.font_weight_text))
private var enabledSpan: ForegroundColorSpan = ForegroundColorSpan(context.accentColor)
private var onChanged: (() -> Unit)? = null
@@ -75,19 +75,21 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
}
private fun upTvTipColor() {
binding.tvTipColor.text =
if (ReadTipConfig.tipColor == 0) {
"跟随正文"
} else {
"#${ReadTipConfig.tipColor.hexString}"
}
val tipColorNames = ReadTipConfig.tipColorNames
val tipColor = ReadTipConfig.tipColor
binding.tvTipColor.text = if (tipColor == 0) {
tipColorNames.first()
} else {
"#${tipColor.hexString}"
}
}
private fun upTvTipDividerColor() {
binding.tvTipDividerColor.text = when (ReadTipConfig.tipDividerColor) {
-1 -> "默认"
0 -> "跟随文字颜色"
else -> "#${ReadTipConfig.tipDividerColor.hexString}"
val tipDividerColorNames = ReadTipConfig.tipDividerColorNames
val tipDividerColor = ReadTipConfig.tipDividerColor
binding.tvTipDividerColor.text = when (tipDividerColor) {
-1, 0 -> tipDividerColorNames[tipDividerColor + 1]
else -> "#${tipDividerColor.hexString}"
}
}
@@ -179,13 +181,14 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
}
}
llTipColor.setOnClickListener {
context?.selector(items = arrayListOf("跟随正文", "自定义")) { _, i ->
context?.selector(items = ReadTipConfig.tipColorNames) { _, i ->
when (i) {
0 -> {
ReadTipConfig.tipColor = 0
upTvTipColor()
postEvent(EventBus.UP_CONFIG, arrayOf(2))
}
1 -> ColorPickerDialog.newBuilder()
.setShowAlphaSlider(false)
.setDialogType(ColorPickerDialog.TYPE_CUSTOM)
@@ -195,13 +198,14 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
}
}
llTipDividerColor.setOnClickListener {
context?.selector(items = arrayListOf("默认", "跟随文字颜色", "自定义")) { _, i ->
context?.selector(items = ReadTipConfig.tipDividerColorNames) { _, i ->
when (i) {
0, 1 -> {
ReadTipConfig.tipDividerColor = i - 1
upTvTipDividerColor()
postEvent(EventBus.UP_CONFIG, arrayOf(2))
}
2 -> ColorPickerDialog.newBuilder()
.setShowAlphaSlider(false)
.setDialogType(ColorPickerDialog.TYPE_CUSTOM)
@@ -6,6 +6,7 @@ import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.FrameLayout
import android.widget.SeekBar
import androidx.appcompat.widget.TooltipCompat
import io.legado.app.R
import io.legado.app.databinding.ViewDetailSeekBarBinding
import io.legado.app.lib.theme.bottomBackground
@@ -42,7 +43,11 @@ class DetailSeekBar @JvmOverloads constructor(
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.DetailSeekBar)
isBottomBackground =
typedArray.getBoolean(R.styleable.DetailSeekBar_isBottomBackground, false)
binding.tvSeekTitle.text = typedArray.getText(R.styleable.DetailSeekBar_title)
val title = typedArray.getText(R.styleable.DetailSeekBar_title)
binding.tvSeekTitle.apply {
text = title
TooltipCompat.setTooltipText(this, title)
}
binding.seekBar.max = typedArray.getInteger(R.styleable.DetailSeekBar_max, 0)
typedArray.recycle()
if (isBottomBackground && !isInEditMode) {