From 5d8cf8a60534cebb66ec1cf939a8be47e2c68f01 Mon Sep 17 00:00:00 2001 From: rebelonion <87634197+rebelonion@users.noreply.github.com> Date: Sun, 21 Jan 2024 00:11:09 -0600 Subject: [PATCH] cool transition --- .../java/ani/dantotsu/media/MediaAdaptor.kt | 18 ++++++++++++++++-- app/src/main/res/layout/activity_main.xml | 10 +++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/MediaAdaptor.kt b/app/src/main/java/ani/dantotsu/media/MediaAdaptor.kt index 6483909f..6d19fdf4 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaAdaptor.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaAdaptor.kt @@ -13,7 +13,10 @@ import android.view.ViewGroup import android.view.animation.AccelerateDecelerateInterpolator import android.widget.ImageView import androidx.appcompat.content.res.AppCompatResources +import androidx.core.app.ActivityOptionsCompat import androidx.core.content.ContextCompat +import androidx.core.util.Pair +import androidx.core.view.ViewCompat import androidx.core.view.updateLayoutParams import androidx.fragment.app.FragmentActivity import androidx.recyclerview.widget.RecyclerView @@ -319,6 +322,7 @@ class MediaAdaptor( itemView.setSafeOnClickListener { clicked( bindingAdapterPosition, + binding.itemCompactImage, resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) ) } @@ -332,6 +336,7 @@ class MediaAdaptor( itemView.setSafeOnClickListener { clicked( bindingAdapterPosition, + binding.itemCompactImage, resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) ) } @@ -346,6 +351,7 @@ class MediaAdaptor( binding.itemCompactImage.setSafeOnClickListener { clicked( bindingAdapterPosition, + binding.itemCompactImage, resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) ) } @@ -361,12 +367,14 @@ class MediaAdaptor( binding.itemCompactImage.setSafeOnClickListener { clicked( bindingAdapterPosition, + binding.itemCompactImage, resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) ) } binding.itemCompactTitleContainer.setSafeOnClickListener { clicked( bindingAdapterPosition, + binding.itemCompactImage, resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) ) } @@ -375,7 +383,7 @@ class MediaAdaptor( } } - fun clicked(position: Int, bitmap: Bitmap? = null) { + fun clicked(position: Int, itemCompactImage: ImageView?, bitmap: Bitmap? = null) { if ((mediaList?.size ?: 0) > position && position != -1) { val media = mediaList?.get(position) if (bitmap != null) MediaSingleton.bitmap = bitmap @@ -384,7 +392,13 @@ class MediaAdaptor( Intent(activity, MediaDetailsActivity::class.java).putExtra( "media", media as Serializable - ), null + ), ActivityOptionsCompat.makeSceneTransitionAnimation( + activity, + Pair.create( + itemCompactImage, + ViewCompat.getTransitionName(activity.findViewById(R.id.itemCompactImage))!! + ), + ).toBundle() ) } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 85135182..2966ae1c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -30,9 +30,9 @@