修复共享动画的闪烁问题
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -14,7 +14,6 @@ import android.widget.ImageView
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.view.get
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.postDelayed
|
||||
import androidx.fragment.app.Fragment
|
||||
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.floatingactionbutton.ExtendedFloatingActionButton
|
||||
import com.google.android.material.navigation.NavigationBarView
|
||||
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
||||
import io.legato.kazusa.BuildConfig
|
||||
import io.legato.kazusa.R
|
||||
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.service.BaseReadAloudService
|
||||
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.main.bookshelf.BaseBookshelfFragment
|
||||
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.my.MyFragment
|
||||
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.utils.dpToPx
|
||||
import io.legato.kazusa.utils.getPrefBoolean
|
||||
import io.legato.kazusa.utils.gone
|
||||
import io.legato.kazusa.utils.hideSoftInput
|
||||
import io.legato.kazusa.utils.observeEvent
|
||||
@@ -108,7 +105,7 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setExitSharedElementCallback(MaterialContainerTransformSharedElementCallback())
|
||||
if (savedInstanceState != null) {
|
||||
pagePosition = savedInstanceState.getInt("currentPagePosition", 0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user