增加开启自动翻页 (#4717)
* 增加点击屏幕下部分右边下一页,左部分上一页 * 优化 * 增加开启自动翻页 * ... * 修改命名 * ... * ...
This commit is contained in:
@@ -96,6 +96,7 @@ object PreferKey {
|
||||
const val imageRetainNum = "imageRetainNum"
|
||||
const val preDownloadNum = "preDownloadNum"
|
||||
const val mangaPreDownloadNum = "mangaPreDownloadNum"
|
||||
const val mangaAutoPageSpeed = "mangaAutoPageSpeed"
|
||||
const val singlePageScrolling = "singlePageScrolling"
|
||||
const val disableClickScroller = "disableClickScroller"
|
||||
const val autoRefresh = "auto_refresh"
|
||||
|
||||
@@ -636,5 +636,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.disableClickScroller, value)
|
||||
}
|
||||
|
||||
//漫画滚动速度
|
||||
var mangaAutoPageSpeed
|
||||
get() = appCtx.getPrefInt(PreferKey.mangaAutoPageSpeed, 3)
|
||||
set(value) {
|
||||
appCtx.putPrefInt(PreferKey.mangaAutoPageSpeed, value)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.view.KeyEvent
|
||||
import android.view.Menu
|
||||
@@ -109,6 +110,22 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
}
|
||||
}
|
||||
}
|
||||
private var mDisableAutoScrollPage = false
|
||||
private val mInitMangaAutoPageSpeed by lazy {
|
||||
AppConfig.mangaAutoPageSpeed
|
||||
}
|
||||
|
||||
private var mMangaAutoPageSpeed = mInitMangaAutoPageSpeed
|
||||
|
||||
private val autoScrollHandler = Handler(Looper.getMainLooper())
|
||||
private val autoScrollRunnable = object : Runnable {
|
||||
override fun run() {
|
||||
scrollToNext()
|
||||
autoScrollHandler.postDelayed(this, mMangaAutoPageSpeed.times(1000L)) // 每3秒滑动一次
|
||||
}
|
||||
}
|
||||
private var mMenu: Menu? = null
|
||||
|
||||
|
||||
private var mRecyclerViewPreloader: RecyclerViewPreloader<Any>? = null
|
||||
|
||||
@@ -304,6 +321,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
ReadManga.syncProgress({ progress -> sureNewProgress(progress) })
|
||||
}
|
||||
}
|
||||
startAutoPage()
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
@@ -320,6 +338,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
}
|
||||
}
|
||||
networkChangedListener.unRegister()
|
||||
stopAutoPage()
|
||||
}
|
||||
|
||||
override fun loadComplete() {
|
||||
@@ -413,16 +432,15 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
}
|
||||
|
||||
R.id.menu_pre_manga_number -> {
|
||||
NumberPickerDialog(this)
|
||||
.setTitle(getString(R.string.pre_download))
|
||||
.setMaxValue(9999)
|
||||
.setMinValue(0)
|
||||
.setValue(AppConfig.mangaPreDownloadNum)
|
||||
.show {
|
||||
AppConfig.mangaPreDownloadNum = it
|
||||
item.title = getString(R.string.pre_download_m, it)
|
||||
addRecyclerViewPreloader(it)
|
||||
}
|
||||
showNumberPickerDialog(
|
||||
0,
|
||||
getString(R.string.pre_download),
|
||||
AppConfig.mangaPreDownloadNum
|
||||
) {
|
||||
AppConfig.mangaPreDownloadNum = it
|
||||
item.title = getString(R.string.pre_download_m, it)
|
||||
addRecyclerViewPreloader(it)
|
||||
}
|
||||
}
|
||||
|
||||
R.id.menu_scroller_page -> {
|
||||
@@ -442,6 +460,29 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
AppConfig.disableClickScroller = item.isChecked
|
||||
disabledClickScroller(item.isChecked)
|
||||
}
|
||||
|
||||
R.id.menu_enable_auto_page -> {
|
||||
item.isChecked = !item.isChecked
|
||||
val menuMangaAutoPageSpeed = mMenu?.findItem(R.id.menu_manga_auto_page_speed)
|
||||
mDisableAutoScrollPage = item.isChecked
|
||||
if (item.isChecked) {
|
||||
startAutoPage()
|
||||
menuMangaAutoPageSpeed?.isVisible = true
|
||||
} else {
|
||||
stopAutoPage()
|
||||
menuMangaAutoPageSpeed?.isVisible = false
|
||||
}
|
||||
}
|
||||
|
||||
R.id.menu_manga_auto_page_speed -> {
|
||||
showNumberPickerDialog(1,getString(R.string.setting_manga_auto_page_speed), 3) {
|
||||
AppConfig.mangaAutoPageSpeed = it
|
||||
mMangaAutoPageSpeed = it
|
||||
item.title = getString(R.string.manga_auto_page_speed, it)
|
||||
stopAutoPage()
|
||||
startAutoPage()
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onCompatOptionsItemSelected(item)
|
||||
}
|
||||
@@ -497,11 +538,14 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
|
||||
@SuppressLint("StringFormatMatches")
|
||||
private fun upMenu(menu: Menu) {
|
||||
this.mMenu = menu
|
||||
menu.findItem(R.id.menu_pre_manga_number).title =
|
||||
getString(R.string.pre_download_m, mPreDownloadNum)
|
||||
menu.findItem(R.id.menu_scroller_page).isChecked = mSinglePageScroller
|
||||
menu.findItem(R.id.menu_disable_manga_scaling).isChecked = mDisableMangaScaling
|
||||
menu.findItem(R.id.menu_disable_click_scroller).isChecked = mDisableClickScroller
|
||||
menu.findItem(R.id.menu_manga_auto_page_speed).title =
|
||||
getString(R.string.manga_auto_page_speed, mMangaAutoPageSpeed)
|
||||
}
|
||||
|
||||
private fun disableMangaScaling(disable: Boolean) {
|
||||
@@ -556,4 +600,25 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
mSmoothScroller.targetPosition = position
|
||||
mLayoutManager.startSmoothScroll(mSmoothScroller)
|
||||
}
|
||||
|
||||
private fun startAutoPage() {
|
||||
if (mDisableAutoScrollPage) {
|
||||
autoScrollHandler.postDelayed(autoScrollRunnable, mMangaAutoPageSpeed.times(1000L))
|
||||
}
|
||||
}
|
||||
|
||||
private fun stopAutoPage() {
|
||||
autoScrollHandler.removeCallbacks(autoScrollRunnable)
|
||||
}
|
||||
|
||||
private fun showNumberPickerDialog(min:Int,title: String, initValue: Int, callback: (Int) -> Unit) {
|
||||
NumberPickerDialog(this)
|
||||
.setTitle(title)
|
||||
.setMaxValue(9999)
|
||||
.setMinValue(min)
|
||||
.setValue(initValue)
|
||||
.show {
|
||||
callback.invoke(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,4 +44,17 @@
|
||||
android:checked="false"
|
||||
android:title="@string/disable_manga_click_scroller"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_enable_auto_page"
|
||||
android:checkable="true"
|
||||
android:checked="false"
|
||||
android:title="@string/enable_auto_page_scroller"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_manga_auto_page_speed"
|
||||
android:visible="false"
|
||||
android:title="@string/manga_auto_page_speed"
|
||||
app:showAsAction="never" />
|
||||
</menu>
|
||||
|
||||
@@ -1185,6 +1185,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">Descargar el siguiente capítulo</string>
|
||||
<string name="menu_download_all">Descargar todos los capítulos</string>
|
||||
|
||||
@@ -1188,6 +1188,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">下载之后章节</string>
|
||||
<string name="menu_download_all">下载全部章节</string>
|
||||
|
||||
@@ -1188,6 +1188,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">Faça o download do próximo capítulo</string>
|
||||
<string name="menu_download_all">Download de todos os capítulos</string>
|
||||
|
||||
@@ -1184,6 +1184,9 @@ Còn </string>
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">Tải xuống chương tiếp theo</string>
|
||||
<string name="menu_download_all">Tải xuống tất cả các chương</string>
|
||||
|
||||
@@ -1185,6 +1185,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">下載之後章節</string>
|
||||
<string name="menu_download_all">下載全部章節</string>
|
||||
|
||||
@@ -1187,6 +1187,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">下載之後章節</string>
|
||||
<string name="menu_download_all">下載全部章節</string>
|
||||
|
||||
@@ -1187,6 +1187,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">下载之后章节</string>
|
||||
<string name="menu_download_all">下载全部章节</string>
|
||||
|
||||
@@ -1188,6 +1188,9 @@
|
||||
<string name="show_mange_ui">漫画浏览</string>
|
||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||
<string name="menu_download_after">Download the chapter after</string>
|
||||
<string name="menu_download_all">Download all chapter</string>
|
||||
|
||||
Reference in New Issue
Block a user