From af12fdeca7ce6937101788a60cdd1e79f1cd058a Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 10 Nov 2020 11:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E7=82=B9=E5=87=BB=E7=BF=BB?= =?UTF-8?q?=E9=A1=B5=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/constant/PreferKey.kt | 9 +- .../main/java/io/legado/app/help/AppConfig.kt | 2 + .../java/io/legado/app/help/ReadBookConfig.kt | 2 - .../app/ui/book/read/ReadBookBaseActivity.kt | 5 + .../read/config/ClickActionConfigDialog.kt | 33 +++++ .../ui/book/read/config/MoreConfigDialog.kt | 3 + .../book/read/config/ReadAloudConfigDialog.kt | 1 - .../legado/app/ui/book/read/page/PageView.kt | 5 +- .../app/ui/widget/text/StrokeTextView.kt | 7 +- .../res/layout/dialog_click_action_config.xml | 116 ++++++++++++++++++ app/src/main/res/values-zh-rHK/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values-zh/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- app/src/main/res/xml/pref_config_read.xml | 6 +- 15 files changed, 181 insertions(+), 16 deletions(-) create mode 100644 app/src/main/java/io/legado/app/ui/book/read/config/ClickActionConfigDialog.kt create mode 100644 app/src/main/res/layout/dialog_click_action_config.xml diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt index 02e2d18d8..427509f61 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -6,7 +6,14 @@ object PreferKey { const val themeMode = "themeMode" const val hideStatusBar = "hideStatusBar" const val clickTurnPage = "clickTurnPage" - const val clickAllNext = "clickAllNext" + const val clickActionTopLeft = "clickActionTopLeft" + const val clickActionTopCenter = "clickActionTopCenter" + const val clickActionTopRight = "clickActionTopRight" + const val clickActionCenterLeft = "clickActionCenterLeft" + const val clickActionCenterRight = "clickActionCenterRight" + const val clickActionBottomLeft = "clickActionBottomLeft" + const val clickActionBottomCenter = "clickActionBottomCenter" + const val clickActionBottomRight = "clickActionBottomRight" const val hideNavigationBar = "hideNavigationBar" const val precisionSearch = "precisionSearch" const val speakEngine = "speakEngine" diff --git a/app/src/main/java/io/legado/app/help/AppConfig.kt b/app/src/main/java/io/legado/app/help/AppConfig.kt index 6efcdffea..88e6c5508 100644 --- a/app/src/main/java/io/legado/app/help/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/AppConfig.kt @@ -136,5 +136,7 @@ object AppConfig { val changeSourceLoadToc get() = App.INSTANCE.getPrefBoolean(PreferKey.changeSourceLoadToc) val importKeepName get() = App.INSTANCE.getPrefBoolean(PreferKey.importKeepName) + + val clickTurnPage get() = App.INSTANCE.getPrefBoolean(PreferKey.clickTurnPage, true) } diff --git a/app/src/main/java/io/legado/app/help/ReadBookConfig.kt b/app/src/main/java/io/legado/app/help/ReadBookConfig.kt index 6b388742f..2303c414b 100644 --- a/app/src/main/java/io/legado/app/help/ReadBookConfig.kt +++ b/app/src/main/java/io/legado/app/help/ReadBookConfig.kt @@ -153,8 +153,6 @@ object ReadBookConfig { App.INSTANCE.putPrefBoolean(PreferKey.shareLayout, value) } } - val clickTurnPage get() = App.INSTANCE.getPrefBoolean(PreferKey.clickTurnPage, true) - val clickAllNext get() = App.INSTANCE.getPrefBoolean(PreferKey.clickAllNext, false) val textFullJustify get() = App.INSTANCE.getPrefBoolean(PreferKey.textFullJustify, true) val textBottomJustify get() = App.INSTANCE.getPrefBoolean(PreferKey.textBottomJustify, true) var hideStatusBar = App.INSTANCE.getPrefBoolean(PreferKey.hideStatusBar) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookBaseActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookBaseActivity.kt index 598668e8b..94292bb81 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookBaseActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookBaseActivity.kt @@ -24,6 +24,7 @@ import io.legado.app.lib.theme.backgroundColor import io.legado.app.service.help.CacheBook import io.legado.app.service.help.ReadBook import io.legado.app.ui.book.read.config.BgTextConfigDialog +import io.legado.app.ui.book.read.config.ClickActionConfigDialog import io.legado.app.ui.book.read.config.PaddingConfigDialog import io.legado.app.ui.book.source.edit.BookSourceEditActivity import io.legado.app.ui.widget.text.AutoCompleteTextView @@ -94,6 +95,10 @@ abstract class ReadBookBaseActivity : BgTextConfigDialog().show(supportFragmentManager, "bgTextConfig") } + fun showClickRegionalConfig() { + ClickActionConfigDialog().show(supportFragmentManager, "clickActionConfig") + } + /** * 屏幕方向 */ diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/ClickActionConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/ClickActionConfigDialog.kt new file mode 100644 index 000000000..5880c0a44 --- /dev/null +++ b/app/src/main/java/io/legado/app/ui/book/read/config/ClickActionConfigDialog.kt @@ -0,0 +1,33 @@ +package io.legado.app.ui.book.read.config + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import io.legado.app.R +import io.legado.app.base.BaseDialogFragment + +class ClickActionConfigDialog : BaseDialogFragment() { + + override fun onStart() { + super.onStart() + dialog?.window?.let { + it.setBackgroundDrawableResource(R.color.transparent) + it.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) + } + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + return inflater.inflate(R.layout.dialog_click_action_config, container) + } + + override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { + + } + + +} \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt index fbb8fa226..9aab31fd2 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt @@ -116,6 +116,9 @@ class MoreConfigDialog : DialogFragment() { override fun onPreferenceTreeClick(preference: Preference?): Boolean { when (preference?.key) { "customPageKey" -> PageKeyDialog(requireContext()).show() + "clickRegionalConfig" -> { + (activity as? ReadBookActivity)?.showClickRegionalConfig() + } } return super.onPreferenceTreeClick(preference) } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt index 6e5595bcd..d1de3f240 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt @@ -117,7 +117,6 @@ class ReadAloudConfigDialog : DialogFragment() { when (preference) { is ListPreference -> { val index = preference.findIndexOfValue(value) - // Set the summary to reflect the new value. preference.summary = if (index >= 0) preference.entries[index] else null } else -> { diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt index b502e20cd..6a0ea71da 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt @@ -10,6 +10,7 @@ import android.util.AttributeSet import android.view.MotionEvent import android.view.ViewConfiguration import android.widget.FrameLayout +import io.legado.app.help.AppConfig import io.legado.app.help.ReadBookConfig import io.legado.app.lib.theme.accentColor import io.legado.app.service.help.ReadBook @@ -247,8 +248,8 @@ class PageView(context: Context, attrs: AttributeSet) : if (!isAbortAnim) { callBack.clickCenter() } - } else if (ReadBookConfig.clickTurnPage) { - if (startX > width / 2 || ReadBookConfig.clickAllNext) { + } else if (AppConfig.clickTurnPage) { + if (startX > width / 2) { pageDelegate?.nextPageByAnim(defaultAnimationSpeed) } else { pageDelegate?.prevPageByAnim(defaultAnimationSpeed) diff --git a/app/src/main/java/io/legado/app/ui/widget/text/StrokeTextView.kt b/app/src/main/java/io/legado/app/ui/widget/text/StrokeTextView.kt index 62f8f18f2..b992f772f 100644 --- a/app/src/main/java/io/legado/app/ui/widget/text/StrokeTextView.kt +++ b/app/src/main/java/io/legado/app/ui/widget/text/StrokeTextView.kt @@ -9,6 +9,7 @@ import io.legado.app.utils.ColorUtils import io.legado.app.utils.dp import io.legado.app.utils.getCompatColor +@Suppress("unused") open class StrokeTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) { @@ -40,7 +41,7 @@ open class StrokeTextView(context: Context, attrs: AttributeSet?) : .setSelectedStrokeColor(context.getCompatColor(R.color.accent)) .setPressedBgColor(context.getCompatColor(R.color.transparent30)) .create() - this.setTextColor( + setTextColor( Selector.colorBuild() .setDefaultColor(context.getCompatColor(R.color.secondaryText)) .setSelectedColor(context.getCompatColor(R.color.accent)) @@ -58,7 +59,7 @@ open class StrokeTextView(context: Context, attrs: AttributeSet?) : .setSelectedStrokeColor(context.accentColor) .setPressedBgColor(context.getCompatColor(R.color.transparent30)) .create() - this.setTextColor( + setTextColor( Selector.colorBuild() .setDefaultColor(context.getPrimaryTextColor(isLight)) .setSelectedColor(context.accentColor) @@ -75,7 +76,7 @@ open class StrokeTextView(context: Context, attrs: AttributeSet?) : .setSelectedStrokeColor(ThemeStore.accentColor(context)) .setPressedBgColor(context.getCompatColor(R.color.transparent30)) .create() - this.setTextColor( + setTextColor( Selector.colorBuild() .setDefaultColor(ThemeStore.textColorSecondary(context)) .setSelectedColor(ThemeStore.accentColor(context)) diff --git a/app/src/main/res/layout/dialog_click_action_config.xml b/app/src/main/res/layout/dialog_click_action_config.xml new file mode 100644 index 000000000..f67e622d3 --- /dev/null +++ b/app/src/main/res/layout/dialog_click_action_config.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index c85d20733..621f2ebab 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -197,7 +197,6 @@ 音量鍵翻頁 點擊翻頁 - 點擊總是翻下一頁 翻頁動畫 屏幕超時 返回 @@ -781,5 +780,6 @@ 拷贝URL 没有书籍 保留原名 + 点击区域设置 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8dc1d3b0f..789648b94 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -197,7 +197,6 @@ 音量鍵翻頁 點擊翻頁 - 點擊總是翻下一頁 翻頁動畫 螢幕超時 返回 @@ -781,5 +780,6 @@ 拷贝URL 没有书籍 保留原名 + 点击区域设置 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 1e56e877e..47b52d26d 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -199,7 +199,6 @@ 音量键翻页 点击翻页 - 点击总是翻下一页 翻页动画 屏幕超时 返回 @@ -784,5 +783,6 @@ 拷贝URL 没有书籍 保留原名 + 点击区域设置 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f4007a799..070c91ee6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -200,7 +200,6 @@ Book Volume keys to turn page Tap screen to turn page - Tap screen always to next page Flip animation Keep screen awake Back @@ -787,5 +786,6 @@ 拷贝URL 没有书籍 保留原名 + 点击区域设置 diff --git a/app/src/main/res/xml/pref_config_read.xml b/app/src/main/res/xml/pref_config_read.xml index 7e2da9c1c..a9355f948 100644 --- a/app/src/main/res/xml/pref_config_read.xml +++ b/app/src/main/res/xml/pref_config_read.xml @@ -69,10 +69,10 @@ app:iconSpaceReserved="false" app:isBottomBackground="true" /> -