修复共享动画的闪烁问题

This commit is contained in:
HapeLee committed 2025-09-22 20:05:03 +08:00
1 parent 6d19ffeb80
commit 6f5545ef08
4 files changed
+8 -9

No files matched your search

@@ -32,6 +32,7 @@ import com.google.android.material.color.DynamicColors
import com.google.android.material.color.DynamicColorsOptions
import com.google.android.material.color.MaterialColors
import com.google.android.material.transition.platform.MaterialContainerTransform
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
import io.legato.kazusa.R
import io.legato.kazusa.base.VMBaseActivity
import io.legato.kazusa.constant.BookType
@@ -171,6 +172,8 @@ class BookInfoActivity :
@SuppressLint("PrivateResource")
override fun onCreate(savedInstanceState: Bundle?) {
postponeEnterTransition()
setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
val transform = MaterialContainerTransform().apply {
addTarget(binding.cdCov)
scrimColor = Color.TRANSPARENT
@@ -445,7 +445,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
if (loadingViewVisible) {
binding.llLoading.isGone = true
binding.llRetry.isVisible = true
binding.tvMsg.text = msg
binding.tvMsg2.setMessage(msg)
} else {
loadMoreView.error(null, "加载失败,点击重试")
}
@@ -786,7 +786,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
if (paddingDp == 0) {
recyclerView.setPadding(0, 0, 0, 0)
} else if (width > 0) {
val paddingPx = (width * paddingDp / 100).toInt()
val paddingPx = (width * paddingDp / 100)
recyclerView.setPadding(paddingPx, 0, paddingPx, 0)
}
}
@@ -18,13 +18,11 @@ import androidx.activity.addCallback
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.PopupMenu
import androidx.core.view.doOnPreDraw
import androidx.core.view.get
import androidx.core.view.size
import androidx.lifecycle.lifecycleScope
import com.google.android.material.transition.platform.MaterialContainerTransform
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
import com.google.android.material.transition.platform.MaterialSharedAxis
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
import io.legato.kazusa.BuildConfig
import io.legato.kazusa.R
@@ -266,6 +264,7 @@ class ReadBookActivity : BaseReadBookActivity(),
if (AppConfig.sharedElementEnterTransitionEnable) {
setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
val transform = MaterialContainerTransform().apply {
addTarget(binding.root)
scrimColor = Color.TRANSPARENT