Fix page animation switch

This commit is contained in:
Horis
2025-01-10 18:40:33 +08:00
parent 0c2cbe809d
commit 22862f60dc
3 changed files with 16 additions and 10 deletions
@@ -170,12 +170,12 @@ object ReadBook : CoroutineScope by MainScope() {
appDb.bookSourceDao.getBookSource(book.origin)?.let { appDb.bookSourceDao.getBookSource(book.origin)?.let {
bookSource = it bookSource = it
if (book.getImageStyle().isNullOrBlank()) { if (book.getImageStyle().isNullOrBlank()) {
book.setImageStyle(it.getContentRule().imageStyle) val imageStyle = it.getContentRule().imageStyle
} book.setImageStyle(imageStyle)
if (it.getContentRule().imageStyle == Book.imgStyleSingle) { if (imageStyle.equals(Book.imgStyleSingle, true)) {
book.setImageStyle(it.getContentRule().imageStyle)
book.setPageAnim(0) book.setPageAnim(0)
} }
}
} ?: let { } ?: let {
bookSource = null bookSource = null
} }
@@ -565,14 +565,20 @@ class ReadBookActivity : BaseReadBookActivity(),
R.id.menu_set_charset -> showCharsetConfig() R.id.menu_set_charset -> showCharsetConfig()
R.id.menu_image_style -> { R.id.menu_image_style -> {
val imgStyles = val imgStyles =
arrayListOf(Book.imgStyleDefault, Book.imgStyleFull, Book.imgStyleText, Book.imgStyleSingle) arrayListOf(
Book.imgStyleDefault, Book.imgStyleFull, Book.imgStyleText,
Book.imgStyleSingle
)
selector( selector(
R.string.image_style, R.string.image_style,
imgStyles imgStyles
) { _, index -> ) { _, index ->
ReadBook.book?.setImageStyle(imgStyles[index]) val imageStyle = imgStyles[index]
ReadBook.book?.setImageStyle(imageStyle)
if (imageStyle == Book.imgStyleSingle) {
ReadBook.book?.setPageAnim(0) // 切换图片样式single后,自动切换为覆盖 ReadBook.book?.setPageAnim(0) // 切换图片样式single后,自动切换为覆盖
binding.readView.upPageAnim() binding.readView.upPageAnim()
}
ReadBook.loadContent(false) ReadBook.loadContent(false)
} }
} }
@@ -134,7 +134,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style),
TipConfigDialog().show(childFragmentManager, "tipConfigDialog") TipConfigDialog().show(childFragmentManager, "tipConfigDialog")
} }
rgPageAnim.setOnCheckedChangeListener { _, checkedId -> rgPageAnim.setOnCheckedChangeListener { _, checkedId ->
ReadBook.book?.setPageAnim(null) ReadBook.book?.setPageAnim(-1)
ReadBookConfig.pageAnim = binding.rgPageAnim.getIndexById(checkedId) ReadBookConfig.pageAnim = binding.rgPageAnim.getIndexById(checkedId)
callBack?.upPageAnim() callBack?.upPageAnim()
ReadBook.loadContent(false) ReadBook.loadContent(false)