diff --git a/app/src/main/java/io/legado/app/ui/readbook/config/BgTextConfigDialog.kt b/app/src/main/java/io/legado/app/ui/readbook/config/BgTextConfigDialog.kt
index d1ee637d4..3e72e6df6 100644
--- a/app/src/main/java/io/legado/app/ui/readbook/config/BgTextConfigDialog.kt
+++ b/app/src/main/java/io/legado/app/ui/readbook/config/BgTextConfigDialog.kt
@@ -1,5 +1,6 @@
package io.legado.app.ui.readbook.config
+import android.graphics.Color
import android.os.Bundle
import android.util.DisplayMetrics
import android.view.Gravity
@@ -7,12 +8,21 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
+import com.jaredrummler.android.colorpicker.ColorPickerDialog
+import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
import io.legado.app.R
+import io.legado.app.constant.Bus
import io.legado.app.help.ReadBookConfig
import io.legado.app.ui.readbook.Help
+import io.legado.app.utils.postEvent
import kotlinx.android.synthetic.main.dialog_read_bg_text.*
+import okhttp3.internal.toHexString
+import org.jetbrains.anko.sdk27.listeners.onClick
-class BgTextConfigDialog : DialogFragment() {
+class BgTextConfigDialog : DialogFragment(), ColorPickerDialogListener {
+
+ val selectTextColor = 121
+ val selectBgColor = 122
override fun onCreateView(
inflater: LayoutInflater,
@@ -41,9 +51,52 @@ class BgTextConfigDialog : DialogFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
+ initView()
}
private fun initData() = with(ReadBookConfig.getConfig()) {
sw_dark_status_icon.isChecked = statusIconDark()
}
+
+ private fun initView() = with(ReadBookConfig.getConfig()) {
+ tv_text_color.onClick {
+ ColorPickerDialog.newBuilder()
+ .setColor(textColor())
+ .setShowAlphaSlider(false)
+ .setDialogType(ColorPickerDialog.TYPE_CUSTOM)
+ .setDialogId(selectTextColor)
+ .show(requireActivity())
+ }
+ tv_bg_color.onClick {
+ val bgColor =
+ if (bgType() == 0) Color.parseColor(bgStr())
+ else Color.parseColor("#015A86")
+ ColorPickerDialog.newBuilder()
+ .setColor(bgColor)
+ .setShowAlphaSlider(false)
+ .setDialogType(ColorPickerDialog.TYPE_CUSTOM)
+ .setDialogId(selectTextColor)
+ .show(requireActivity())
+ }
+ tv_default.onClick {
+
+ }
+ }
+
+ override fun onColorSelected(dialogId: Int, color: Int) = with(ReadBookConfig.getConfig()) {
+ when (dialogId) {
+ selectTextColor -> {
+ setTextColor(color)
+ postEvent(Bus.UP_CONFIG, false)
+ }
+ selectBgColor -> {
+ setBg(0, "#${color.toHexString()}")
+ postEvent(Bus.UP_CONFIG, false)
+ }
+ }
+ }
+
+ override fun onDialogDismissed(dialogId: Int) {
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_read_bg_text.xml b/app/src/main/res/layout/dialog_read_bg_text.xml
index 073e9b720..b1d5df162 100644
--- a/app/src/main/res/layout/dialog_read_bg_text.xml
+++ b/app/src/main/res/layout/dialog_read_bg_text.xml
@@ -21,7 +21,7 @@
android:padding="6dp">