diff --git a/app/src/main/java/io/legato/kazusa/help/config/ReadBookConfig.kt b/app/src/main/java/io/legato/kazusa/help/config/ReadBookConfig.kt index f6dff589b..cc0ada919 100644 --- a/app/src/main/java/io/legato/kazusa/help/config/ReadBookConfig.kt +++ b/app/src/main/java/io/legato/kazusa/help/config/ReadBookConfig.kt @@ -507,7 +507,7 @@ object ReadBookConfig { private var pageAnim: Int = 0,//翻页动画 private var pageAnimEInk: Int = 4, var textFont: String = "",//字体 - var textBold: Int = 0,//是否粗体字 0:正常, 1:粗体, 2:细体 + var textBold: Int = 500,//是否粗体字 0:正常, 1:粗体, 2:细体 var textSize: Int = 20,//文字大小 var letterSpacing: Float = 0.1f,//字间距 var lineSpacingExtra: Int = 12,//行间距 diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/BaseReadBookActivity.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/BaseReadBookActivity.kt index 5ef6e5933..8df6c6cca 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/BaseReadBookActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/BaseReadBookActivity.kt @@ -34,7 +34,6 @@ import io.legato.kazusa.ui.book.read.config.BgTextConfigDialog import io.legato.kazusa.ui.book.read.config.ClickActionConfigDialog import io.legato.kazusa.ui.book.read.config.PaddingConfigDialog import io.legato.kazusa.ui.book.read.config.PageKeyDialog -import io.legato.kazusa.ui.book.read.config.ReadSpacingDialog import io.legato.kazusa.ui.file.HandleFileContract import io.legato.kazusa.utils.ColorUtils import io.legato.kazusa.utils.FileDoc @@ -125,10 +124,6 @@ abstract class BaseReadBookActivity : } - fun showSpacingDialog() { - showDialogFragment() - } - fun showPaddingConfig() { showDialogFragment() } diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ChineseConverter.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ChineseConverter.kt deleted file mode 100644 index 32f45294b..000000000 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ChineseConverter.kt +++ /dev/null @@ -1,47 +0,0 @@ -package io.legato.kazusa.ui.book.read.config - -import android.content.Context -import android.text.SpannableString -import android.util.AttributeSet -import com.google.android.material.button.MaterialButton -import io.legato.kazusa.R -import io.legato.kazusa.help.config.AppConfig -import io.legato.kazusa.lib.dialogs.alert -//import io.legado.app.lib.theme.accentColor -import io.legato.kazusa.ui.widget.text.StrokeTextView - - -class ChineseConverter(context: Context, attrs: AttributeSet?) : MaterialButton(context, attrs) { - - private val spannableString = SpannableString("简/繁") - private var onChanged: (() -> Unit)? = null - - init { - text = spannableString - if (!isInEditMode) { - upUi(AppConfig.chineseConverterType) - } - setOnClickListener { - selectType() - } - } - - private fun upUi(type: Int) { - val showOptions = context.resources.getStringArray(R.array.chinese_mode) - text = showOptions.getOrNull(type) ?: "" - } - - private fun selectType() { - context.alert(titleResource = R.string.chinese_converter) { - items(context.resources.getStringArray(R.array.chinese_mode).toList()) { _, i -> - AppConfig.chineseConverterType = i - upUi(i) - onChanged?.invoke() - } - } - } - - fun onChanged(unit: () -> Unit) { - onChanged = unit - } -} \ No newline at end of file diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadSpacingDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadSpacingDialog.kt deleted file mode 100644 index 9be6733de..000000000 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadSpacingDialog.kt +++ /dev/null @@ -1,63 +0,0 @@ -package io.legato.kazusa.ui.book.read.config - -import android.content.DialogInterface -import android.os.Bundle -import android.view.View -import io.legato.kazusa.R -import io.legato.kazusa.base.BaseBottomSheetDialogFragment -import io.legato.kazusa.constant.EventBus -import io.legato.kazusa.databinding.DialogReadBookSpacingBinding -import io.legato.kazusa.help.config.ReadBookConfig -import io.legato.kazusa.ui.book.read.ReadBookActivity -import io.legato.kazusa.utils.postEvent -import io.legato.kazusa.utils.viewbindingdelegate.viewBinding - -class ReadSpacingDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_spacing) { - - private val binding by viewBinding(DialogReadBookSpacingBinding::bind) - private val callBack get() = activity as? ReadBookActivity - - override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { - (activity as ReadBookActivity).bottomDialog++ - initView() - upView() - initViewEvent() - } - - override fun onDismiss(dialog: DialogInterface) { - super.onDismiss(dialog) - ReadBookConfig.save() - (activity as ReadBookActivity).bottomDialog-- - } - - private fun initView() = binding.run { - dsbTextLetterSpacing.valueFormat = { - ((it - 50) / 100f).toString() - } - dsbLineSize.valueFormat = { ((it - 10) / 10f).toString() } - dsbParagraphSpacing.valueFormat = { (it / 10f).toString() } - } - - private fun initViewEvent() = binding.run { - dsbTextLetterSpacing.onChanged = { - ReadBookConfig.letterSpacing = (it - 50) / 100f - postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) - } - dsbLineSize.onChanged = { - ReadBookConfig.lineSpacingExtra = it - postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) - } - dsbParagraphSpacing.onChanged = { - ReadBookConfig.paragraphSpacing = it - postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) - } - } - - private fun upView() = binding.run { - ReadBookConfig.let { - dsbTextLetterSpacing.progress = (it.letterSpacing * 100).toInt() + 50 - dsbLineSize.progress = it.lineSpacingExtra - dsbParagraphSpacing.progress = it.paragraphSpacing - } - } -} \ No newline at end of file diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt index a10b596aa..1a4212ebb 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt @@ -18,10 +18,8 @@ import io.legato.kazusa.help.config.AppConfig import io.legato.kazusa.help.config.ReadBookConfig import io.legato.kazusa.help.config.ThemeConfig import io.legato.kazusa.lib.dialogs.alert -import io.legato.kazusa.lib.dialogs.selector import io.legato.kazusa.model.ReadBook import io.legato.kazusa.ui.book.read.ReadBookActivity -import io.legato.kazusa.ui.font.FontSelectDialog import io.legato.kazusa.utils.ChineseUtils import io.legato.kazusa.utils.dpToPx import io.legato.kazusa.utils.postEvent @@ -96,21 +94,9 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_ } } - textFontWeightConverter.onChanged { - postEvent(EventBus.UP_CONFIG, arrayListOf(8, 9, 6)) - } tvTextFont.setOnClickListener { showDialogFragment() } - tvTextIndent.setOnClickListener { - context?.selector( - title = getString(R.string.text_indent), - items = resources.getStringArray(R.array.indent).toList() - ) { _, index -> - ReadBookConfig.paragraphIndent = " ".repeat(index) - postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) - } - } tvPadding.setOnClickListener { dismissAllowingStateLoss() callBack?.showPaddingConfig() @@ -156,10 +142,6 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_ ReadBookConfig.textSize = it + 5 postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } - - btnSpacing.setOnClickListener { - callBack?.showSpacingDialog() - } } private fun changeBgTextConfig(index: Int) { @@ -184,7 +166,6 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_ } private fun upView() = binding.run { - textFontWeightConverter.upUi(ReadBookConfig.textBold) ReadBook.pageAnim().let { if (it >= 0 && it < rgPageAnim.childCount) { rgPageAnim.check(rgPageAnim[it].id) diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/TextFontWeightConverter.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/TextFontWeightConverter.kt deleted file mode 100644 index a172a91fd..000000000 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/TextFontWeightConverter.kt +++ /dev/null @@ -1,49 +0,0 @@ -package io.legato.kazusa.ui.book.read.config - -import android.content.Context -import android.text.SpannableString -import android.util.AttributeSet -import com.google.android.material.button.MaterialButton -import io.legato.kazusa.R -import io.legato.kazusa.help.config.ReadBookConfig -import io.legato.kazusa.lib.dialogs.alert -//import io.legado.app.lib.theme.accentColor -import io.legato.kazusa.ui.widget.text.StrokeTextView - - -class TextFontWeightConverter(context: Context, attrs: AttributeSet?) : - MaterialButton(context, attrs) { - - private val spannableString = SpannableString(context.getString(R.string.font_weight_text)) - private var onChanged: (() -> Unit)? = null - - init { - text = spannableString - if (!isInEditMode) { - upUi(ReadBookConfig.textBold) - } - setOnClickListener { - selectType() - } - } - - @Suppress("MemberVisibilityCanBePrivate") - fun upUi(type: Int) { - val weightOptions = context.resources.getStringArray(R.array.text_font_weight) - text = weightOptions.getOrNull(type) ?: "" - } - - private fun selectType() { - context.alert(titleResource = R.string.text_font_weight_converter) { - items(context.resources.getStringArray(R.array.text_font_weight).toList()) { _, i -> - ReadBookConfig.textBold = i - upUi(i) - onChanged?.invoke() - } - } - } - - fun onChanged(unit: () -> Unit) { - onChanged = unit - } -} \ No newline at end of file diff --git a/app/src/main/java/io/legato/kazusa/ui/font/FontAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/font/FontAdapter.kt deleted file mode 100644 index 1c987caf1..000000000 --- a/app/src/main/java/io/legato/kazusa/ui/font/FontAdapter.kt +++ /dev/null @@ -1,72 +0,0 @@ -package io.legato.kazusa.ui.font - -import android.content.Context -import android.graphics.Typeface -import android.os.Build -import android.view.ViewGroup -import io.legato.kazusa.base.adapter.ItemViewHolder -import io.legato.kazusa.base.adapter.RecyclerAdapter -import io.legato.kazusa.constant.AppLog -import io.legato.kazusa.databinding.ItemFontBinding -import io.legato.kazusa.utils.* -import java.io.File -import java.net.URLDecoder - -class FontAdapter(context: Context, curFilePath: String, val callBack: CallBack) : - RecyclerAdapter(context) { - - private val curName = kotlin.runCatching { - URLDecoder.decode(curFilePath, "utf-8") - }.getOrNull()?.substringAfterLast(File.separator) - - override fun getViewBinding(parent: ViewGroup): ItemFontBinding { - return ItemFontBinding.inflate(inflater, parent, false) - } - - override fun convert( - holder: ItemViewHolder, - binding: ItemFontBinding, - item: FileDoc, - payloads: MutableList - ) { - binding.run { - kotlin.runCatching { - val typeface: Typeface? = if (item.isContentScheme) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - context.contentResolver - .openFileDescriptor(item.uri, "r")?.use { - Typeface.Builder(it.fileDescriptor).build() - } - } else { - Typeface.createFromFile(RealPathUtil.getPath(context, item.uri)) - } - } else { - Typeface.createFromFile(item.uri.path!!) - } - tvFont.typeface = typeface - }.onFailure { - it.printOnDebug() - AppLog.put("读取字体 ${item.name} 出错\n${it.localizedMessage}", it, true) - } - tvFont.text = item.name - root.setOnClickListener { callBack.onFontSelect(item) } - if (item.name == curName) { - ivChecked.visible() - } else { - ivChecked.invisible() - } - } - } - - override fun registerListener(holder: ItemViewHolder, binding: ItemFontBinding) { - holder.itemView.setOnClickListener { - getItem(holder.layoutPosition)?.let { - callBack.onFontSelect(it) - } - } - } - - interface CallBack { - fun onFontSelect(docItem: FileDoc) - } -} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_header.xml b/app/src/main/res/drawable/ic_header.xml new file mode 100644 index 000000000..517421381 --- /dev/null +++ b/app/src/main/res/drawable/ic_header.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_read_book_spacing.xml b/app/src/main/res/layout/dialog_read_book_spacing.xml deleted file mode 100644 index 02f9136da..000000000 --- a/app/src/main/res/layout/dialog_read_book_spacing.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/dialog_read_book_style.xml b/app/src/main/res/layout/dialog_read_book_style.xml index 851fb72ea..09580e0ec 100644 --- a/app/src/main/res/layout/dialog_read_book_style.xml +++ b/app/src/main/res/layout/dialog_read_book_style.xml @@ -17,7 +17,7 @@ android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" - android:paddingBottom="16dp" + android:paddingBottom="8dp" android:paddingHorizontal="16dp"> - - - - - - - - - - - - - - - - - - + android:text="@string/information" + app:icon="@drawable/ic_header" + tool:ignore="SmallSp" /> - - - - - + app:iconSize="16dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@id/tv_more" + app:layout_constraintStart_toEndOf="@id/dsb_text_size" /> + android:text="@string/more_setting" + app:iconGravity="end" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" /> - + @@ -318,7 +254,7 @@ android:id="@+id/rv_style" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="8dp" + android:layout_marginTop="2dp" android:layout_marginBottom="16dp" android:clipToPadding="false" android:orientation="horizontal" diff --git a/app/src/main/res/layout/dialog_read_padding.xml b/app/src/main/res/layout/dialog_read_padding.xml index b0a86179c..7d6511b41 100644 --- a/app/src/main/res/layout/dialog_read_padding.xml +++ b/app/src/main/res/layout/dialog_read_padding.xml @@ -59,20 +59,20 @@ - + @@ -85,20 +85,20 @@ - + @@ -122,20 +122,19 @@ - @@ -148,20 +147,19 @@ - @@ -202,20 +200,19 @@ - @@ -228,20 +225,18 @@ - - diff --git a/app/src/main/res/layout/dialog_tip_config.xml b/app/src/main/res/layout/dialog_tip_config.xml index 98bdc28ab..afb6e6ae5 100644 --- a/app/src/main/res/layout/dialog_tip_config.xml +++ b/app/src/main/res/layout/dialog_tip_config.xml @@ -87,7 +87,7 @@ @@ -99,7 +99,7 @@ diff --git a/app/src/main/res/layout/view_simple_counter.xml b/app/src/main/res/layout/view_simple_counter.xml index 28256696d..42ecc80b3 100644 --- a/app/src/main/res/layout/view_simple_counter.xml +++ b/app/src/main/res/layout/view_simple_counter.xml @@ -5,7 +5,7 @@ @@ -24,7 +24,7 @@ tools:ignore="RtlSymmetry" /> @@ -42,7 +42,7 @@ tools:ignore="RtlSymmetry" /> @@ -58,8 +58,10 @@ 使用正则表达式 缩进 无缩进 - 一字符缩进 - 二字符缩进 - 三字符缩进 - 四字符缩进 + 一字符 + 二字符 + 三字符 + 四字符 选择文件夹 选择文件 没有发现,可以在书源里添加。 @@ -710,7 +710,7 @@ 信息 切换布局 - 文章字重切换 + 字重 全面屏手势优化 禁用返回键