cool transition

This commit is contained in:
rebelonion 2024-01-21 00:11:09 -06:00
parent 87c2d82462
commit 5d8cf8a605
2 changed files with 21 additions and 7 deletions

View file

@ -13,7 +13,10 @@ import android.view.ViewGroup
import android.view.animation.AccelerateDecelerateInterpolator import android.view.animation.AccelerateDecelerateInterpolator
import android.widget.ImageView import android.widget.ImageView
import androidx.appcompat.content.res.AppCompatResources import androidx.appcompat.content.res.AppCompatResources
import androidx.core.app.ActivityOptionsCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.util.Pair
import androidx.core.view.ViewCompat
import androidx.core.view.updateLayoutParams import androidx.core.view.updateLayoutParams
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@ -319,6 +322,7 @@ class MediaAdaptor(
itemView.setSafeOnClickListener { itemView.setSafeOnClickListener {
clicked( clicked(
bindingAdapterPosition, bindingAdapterPosition,
binding.itemCompactImage,
resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100)
) )
} }
@ -332,6 +336,7 @@ class MediaAdaptor(
itemView.setSafeOnClickListener { itemView.setSafeOnClickListener {
clicked( clicked(
bindingAdapterPosition, bindingAdapterPosition,
binding.itemCompactImage,
resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100)
) )
} }
@ -346,6 +351,7 @@ class MediaAdaptor(
binding.itemCompactImage.setSafeOnClickListener { binding.itemCompactImage.setSafeOnClickListener {
clicked( clicked(
bindingAdapterPosition, bindingAdapterPosition,
binding.itemCompactImage,
resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100)
) )
} }
@ -361,12 +367,14 @@ class MediaAdaptor(
binding.itemCompactImage.setSafeOnClickListener { binding.itemCompactImage.setSafeOnClickListener {
clicked( clicked(
bindingAdapterPosition, bindingAdapterPosition,
binding.itemCompactImage,
resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100)
) )
} }
binding.itemCompactTitleContainer.setSafeOnClickListener { binding.itemCompactTitleContainer.setSafeOnClickListener {
clicked( clicked(
bindingAdapterPosition, bindingAdapterPosition,
binding.itemCompactImage,
resizeBitmap(getBitmapFromImageView(binding.itemCompactImage), 100) 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) { if ((mediaList?.size ?: 0) > position && position != -1) {
val media = mediaList?.get(position) val media = mediaList?.get(position)
if (bitmap != null) MediaSingleton.bitmap = bitmap if (bitmap != null) MediaSingleton.bitmap = bitmap
@ -384,7 +392,13 @@ class MediaAdaptor(
Intent(activity, MediaDetailsActivity::class.java).putExtra( Intent(activity, MediaDetailsActivity::class.java).putExtra(
"media", "media",
media as Serializable media as Serializable
), null ), ActivityOptionsCompat.makeSceneTransitionAnimation(
activity,
Pair.create(
itemCompactImage,
ViewCompat.getTransitionName(activity.findViewById(R.id.itemCompactImage))!!
),
).toBundle()
) )
} }
} }

View file

@ -30,9 +30,9 @@
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/incognito" android:id="@+id/incognito"
android:layout_width="38dp" android:layout_width="30dp"
android:layout_height="38dp" android:layout_height="30dp"
android:layout_gravity="center" android:layout_gravity="start"
android:layout_margin="16dp" android:layout_margin="16dp"
android:translationZ="7dp" android:translationZ="7dp"
app:cardBackgroundColor="@color/bg_opp" app:cardBackgroundColor="@color/bg_opp"
@ -40,8 +40,8 @@
<androidx.constraintlayout.utils.widget.ImageFilterView <androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/incognitoImage" android:id="@+id/incognitoImage"
android:layout_width="30dp" android:layout_width="24dp"
android:layout_height="30dp" android:layout_height="24dp"
android:layout_gravity="center" android:layout_gravity="center"
app:tint="@color/bg" app:tint="@color/bg"
android:src="@drawable/ic_incognito_24" android:src="@drawable/ic_incognito_24"