漫画新增配置:点击翻页动画、加载渐变动画开关 #240、#254
This commit is contained in:
@@ -211,5 +211,9 @@ object PreferKey {
|
||||
const val systemMediaControlCompatibilityChange = "systemMediaControlCompatibilityChange"
|
||||
const val isPredictiveBackEnabled = "isPredictiveBackEnabled"
|
||||
const val replaceSortMode = "desc"
|
||||
const val readBarStyle = "0"
|
||||
const val readBarStyle = "readBarStyle"
|
||||
//我在干什么
|
||||
|
||||
const val disableMangaScrollAnimation = "disableMangaScrollAnimation"
|
||||
const val disableMangaCrossFade = "disableMangaCrossFade"
|
||||
}
|
||||
|
||||
@@ -722,6 +722,18 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
appCtx.putPrefBoolean(PreferKey.disableMangaScale, value)
|
||||
}
|
||||
|
||||
var disableMangaScrollAnimation: Boolean
|
||||
get() = appCtx.getPrefBoolean(PreferKey.disableMangaScrollAnimation, false)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.disableMangaScrollAnimation, value)
|
||||
}
|
||||
|
||||
var disableMangaCrossFade: Boolean
|
||||
get() = appCtx.getPrefBoolean(PreferKey.disableMangaCrossFade, false)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.disableMangaCrossFade, value)
|
||||
}
|
||||
|
||||
//漫画预加载数量
|
||||
var mangaPreDownloadNum
|
||||
get() = appCtx.getPrefInt(PreferKey.mangaPreDownloadNum, 10)
|
||||
|
||||
@@ -147,20 +147,24 @@ object BookCover {
|
||||
if (sourceOrigin != null) {
|
||||
options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin)
|
||||
}
|
||||
return ImageLoader.load(context, path)
|
||||
var builder = ImageLoader.load(context, path)
|
||||
.apply(options)
|
||||
.override(context.resources.displayMetrics.widthPixels, SIZE_ORIGINAL)
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.skipMemoryCache(true).let {
|
||||
if (transformation != null) {
|
||||
it.transform(transformation)
|
||||
} else {
|
||||
it
|
||||
}
|
||||
}
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.skipMemoryCache(true)
|
||||
if (transformation != null) {
|
||||
builder = builder.transform(transformation)
|
||||
}
|
||||
builder = if (AppConfig.disableMangaCrossFade) {
|
||||
builder
|
||||
} else {
|
||||
builder.transition(DrawableTransitionOptions.withCrossFade())
|
||||
}
|
||||
|
||||
return builder
|
||||
}
|
||||
|
||||
|
||||
fun preloadManga(
|
||||
context: Context,
|
||||
path: String?,
|
||||
|
||||
@@ -635,6 +635,14 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
||||
AppConfig.disableClickScroll = disabled
|
||||
}
|
||||
|
||||
override fun onScrollAniDisabledChanged(disabled: Boolean) {
|
||||
AppConfig.disableMangaScrollAnimation = disabled
|
||||
}
|
||||
|
||||
override fun onCrossFadeDisabledChanged(disabled: Boolean) {
|
||||
AppConfig.disableMangaCrossFade = disabled
|
||||
}
|
||||
|
||||
//双击缩放
|
||||
override fun onMangaScaleDisabledChanged(disabled: Boolean) {
|
||||
AppConfig.disableMangaScale = disabled
|
||||
@@ -873,7 +881,11 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
||||
}
|
||||
dx *= direction
|
||||
dy *= direction
|
||||
binding.recyclerView.smoothScrollBy(dx, dy)
|
||||
if (!AppConfig.disableMangaScrollAnimation)
|
||||
binding.recyclerView.smoothScrollBy(dx, dy)
|
||||
else
|
||||
binding.recyclerView.scrollBy(dx, dy)
|
||||
|
||||
}
|
||||
|
||||
private fun showNumberPickerDialog(
|
||||
|
||||
@@ -80,6 +80,20 @@ class MangaFooterSettingDialog :
|
||||
}
|
||||
}
|
||||
|
||||
binding.checkboxScrollAnimation.apply {
|
||||
isChecked = AppConfig.disableMangaScrollAnimation
|
||||
setOnCheckedChangeListener { _, isChecked ->
|
||||
callback?.onScrollAniDisabledChanged(isChecked)
|
||||
}
|
||||
}
|
||||
|
||||
binding.checkboxMangaCrossFade.apply {
|
||||
isChecked = AppConfig.disableMangaCrossFade
|
||||
setOnCheckedChangeListener { _, isChecked ->
|
||||
callback?.onCrossFadeDisabledChanged(isChecked)
|
||||
}
|
||||
}
|
||||
|
||||
binding.checkboxDisableMangaScale.apply {
|
||||
isChecked = AppConfig.disableMangaScale
|
||||
setOnCheckedChangeListener { _, isChecked ->
|
||||
@@ -265,6 +279,8 @@ class MangaFooterSettingDialog :
|
||||
fun onScrollModeChanged(mode: Int)
|
||||
fun upSidePadding(padding: Int)
|
||||
fun onClickScrollDisabledChanged(disabled: Boolean)
|
||||
fun onScrollAniDisabledChanged(disabled: Boolean)
|
||||
fun onCrossFadeDisabledChanged(disabled: Boolean)
|
||||
fun onMangaScaleDisabledChanged(disabled: Boolean)
|
||||
fun onHideMangaTitleChanged(hide: Boolean)
|
||||
fun onVolumeKeyPageChanged(enable: Boolean)
|
||||
|
||||
Reference in New Issue
Block a user