修复共享动画的闪烁问题
This commit is contained in:
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.DynamicColorsOptions
|
||||||
import com.google.android.material.color.MaterialColors
|
import com.google.android.material.color.MaterialColors
|
||||||
import com.google.android.material.transition.platform.MaterialContainerTransform
|
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.R
|
||||||
import io.legato.kazusa.base.VMBaseActivity
|
import io.legato.kazusa.base.VMBaseActivity
|
||||||
import io.legato.kazusa.constant.BookType
|
import io.legato.kazusa.constant.BookType
|
||||||
@@ -171,6 +172,8 @@ class BookInfoActivity :
|
|||||||
@SuppressLint("PrivateResource")
|
@SuppressLint("PrivateResource")
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
postponeEnterTransition()
|
postponeEnterTransition()
|
||||||
|
setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||||
|
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||||
val transform = MaterialContainerTransform().apply {
|
val transform = MaterialContainerTransform().apply {
|
||||||
addTarget(binding.cdCov)
|
addTarget(binding.cdCov)
|
||||||
scrimColor = Color.TRANSPARENT
|
scrimColor = Color.TRANSPARENT
|
||||||
|
|||||||
@@ -445,7 +445,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
if (loadingViewVisible) {
|
if (loadingViewVisible) {
|
||||||
binding.llLoading.isGone = true
|
binding.llLoading.isGone = true
|
||||||
binding.llRetry.isVisible = true
|
binding.llRetry.isVisible = true
|
||||||
binding.tvMsg.text = msg
|
binding.tvMsg2.setMessage(msg)
|
||||||
} else {
|
} else {
|
||||||
loadMoreView.error(null, "加载失败,点击重试")
|
loadMoreView.error(null, "加载失败,点击重试")
|
||||||
}
|
}
|
||||||
@@ -786,7 +786,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
if (paddingDp == 0) {
|
if (paddingDp == 0) {
|
||||||
recyclerView.setPadding(0, 0, 0, 0)
|
recyclerView.setPadding(0, 0, 0, 0)
|
||||||
} else if (width > 0) {
|
} else if (width > 0) {
|
||||||
val paddingPx = (width * paddingDp / 100).toInt()
|
val paddingPx = (width * paddingDp / 100)
|
||||||
recyclerView.setPadding(paddingPx, 0, paddingPx, 0)
|
recyclerView.setPadding(paddingPx, 0, paddingPx, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,11 @@ import androidx.activity.addCallback
|
|||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.widget.PopupMenu
|
import androidx.appcompat.widget.PopupMenu
|
||||||
import androidx.core.view.doOnPreDraw
|
|
||||||
import androidx.core.view.get
|
import androidx.core.view.get
|
||||||
import androidx.core.view.size
|
import androidx.core.view.size
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.google.android.material.transition.platform.MaterialContainerTransform
|
import com.google.android.material.transition.platform.MaterialContainerTransform
|
||||||
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
||||||
import com.google.android.material.transition.platform.MaterialSharedAxis
|
|
||||||
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
||||||
import io.legato.kazusa.BuildConfig
|
import io.legato.kazusa.BuildConfig
|
||||||
import io.legato.kazusa.R
|
import io.legato.kazusa.R
|
||||||
@@ -266,6 +264,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|||||||
|
|
||||||
if (AppConfig.sharedElementEnterTransitionEnable) {
|
if (AppConfig.sharedElementEnterTransitionEnable) {
|
||||||
setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||||
|
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||||
val transform = MaterialContainerTransform().apply {
|
val transform = MaterialContainerTransform().apply {
|
||||||
addTarget(binding.root)
|
addTarget(binding.root)
|
||||||
scrimColor = Color.TRANSPARENT
|
scrimColor = Color.TRANSPARENT
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import android.widget.ImageView
|
|||||||
import androidx.activity.addCallback
|
import androidx.activity.addCallback
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.core.view.get
|
import androidx.core.view.get
|
||||||
import androidx.core.view.isVisible
|
|
||||||
import androidx.core.view.postDelayed
|
import androidx.core.view.postDelayed
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
@@ -24,6 +23,7 @@ import androidx.viewpager.widget.ViewPager
|
|||||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||||
import com.google.android.material.navigation.NavigationBarView
|
import com.google.android.material.navigation.NavigationBarView
|
||||||
|
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
||||||
import io.legato.kazusa.BuildConfig
|
import io.legato.kazusa.BuildConfig
|
||||||
import io.legato.kazusa.R
|
import io.legato.kazusa.R
|
||||||
import io.legato.kazusa.base.VMBaseActivity
|
import io.legato.kazusa.base.VMBaseActivity
|
||||||
@@ -40,7 +40,6 @@ import io.legato.kazusa.help.storage.Backup
|
|||||||
import io.legato.kazusa.lib.dialogs.alert
|
import io.legato.kazusa.lib.dialogs.alert
|
||||||
import io.legato.kazusa.service.BaseReadAloudService
|
import io.legato.kazusa.service.BaseReadAloudService
|
||||||
import io.legato.kazusa.ui.about.CrashLogsDialog
|
import io.legato.kazusa.ui.about.CrashLogsDialog
|
||||||
import io.legato.kazusa.ui.book.read.ReadBookActivity
|
|
||||||
import io.legato.kazusa.ui.book.search.SearchActivity
|
import io.legato.kazusa.ui.book.search.SearchActivity
|
||||||
import io.legato.kazusa.ui.main.bookshelf.BaseBookshelfFragment
|
import io.legato.kazusa.ui.main.bookshelf.BaseBookshelfFragment
|
||||||
import io.legato.kazusa.ui.main.bookshelf.books.BookshelfFragment1
|
import io.legato.kazusa.ui.main.bookshelf.books.BookshelfFragment1
|
||||||
@@ -49,10 +48,8 @@ import io.legato.kazusa.ui.main.bookshelf.books.BookshelfFragment3
|
|||||||
import io.legato.kazusa.ui.main.explore.ExploreFragment
|
import io.legato.kazusa.ui.main.explore.ExploreFragment
|
||||||
import io.legato.kazusa.ui.main.my.MyFragment
|
import io.legato.kazusa.ui.main.my.MyFragment
|
||||||
import io.legato.kazusa.ui.main.rss.RssFragment
|
import io.legato.kazusa.ui.main.rss.RssFragment
|
||||||
import io.legato.kazusa.ui.welcome.WelcomeActivity
|
|
||||||
import io.legato.kazusa.ui.widget.dialog.TextDialog
|
import io.legato.kazusa.ui.widget.dialog.TextDialog
|
||||||
import io.legato.kazusa.utils.dpToPx
|
import io.legato.kazusa.utils.dpToPx
|
||||||
import io.legato.kazusa.utils.getPrefBoolean
|
|
||||||
import io.legato.kazusa.utils.gone
|
import io.legato.kazusa.utils.gone
|
||||||
import io.legato.kazusa.utils.hideSoftInput
|
import io.legato.kazusa.utils.hideSoftInput
|
||||||
import io.legato.kazusa.utils.observeEvent
|
import io.legato.kazusa.utils.observeEvent
|
||||||
@@ -108,7 +105,7 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
pagePosition = savedInstanceState.getInt("currentPagePosition", 0)
|
pagePosition = savedInstanceState.getInt("currentPagePosition", 0)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user