diff options
| author | Charles Lombardo <clombardo169@gmail.com> | 2022-11-03 16:51:51 -0400 |
|---|---|---|
| committer | Charles Lombardo <clombardo169@gmail.com> | 2022-11-06 15:52:19 -0500 |
| commit | 60fb151581cc562a5630c3eea2fc15404c4bedb9 (patch) | |
| tree | 840122837055151b6137b722c92c945d29bc5791 /Source/Android | |
| parent | 1a5110791c577e3490812837bffede2fd0708888 (diff) | |
Android: Animate covers on focus change
Co-Authored-By: JosJuice <josjuice@gmail.com>
Diffstat (limited to 'Source/Android')
3 files changed, 37 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java index 21470269a9..2c92dc76ea 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java @@ -6,6 +6,8 @@ import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; import androidx.annotation.NonNull; import androidx.fragment.app.FragmentActivity; @@ -83,6 +85,13 @@ public final class GameAdapter extends RecyclerView.Adapter<GameAdapter.GameView } holder.gameFile = gameFile; + + Animation animateIn = AnimationUtils.loadAnimation(context, R.anim.anim_card_game_in); + animateIn.setFillAfter(true); + Animation animateOut = AnimationUtils.loadAnimation(context, R.anim.anim_card_game_out); + animateOut.setFillAfter(true); + holder.binding.getRoot().setOnFocusChangeListener((v, hasFocus) -> + holder.binding.cardGameArt.startAnimation(hasFocus ? animateIn : animateOut)); } public static class GameViewHolder extends RecyclerView.ViewHolder diff --git a/Source/Android/app/src/main/res/anim/anim_card_game_in.xml b/Source/Android/app/src/main/res/anim/anim_card_game_in.xml new file mode 100644 index 0000000000..ff9e052ecc --- /dev/null +++ b/Source/Android/app/src/main/res/anim/anim_card_game_in.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + + <scale + android:duration="@android:integer/config_shortAnimTime" + android:interpolator="@android:anim/decelerate_interpolator" + android:fromXScale="1.0" + android:fromYScale="1.0" + android:pivotX="50%" + android:pivotY="50%" + android:toXScale="1.05" + android:toYScale="1.05" /> + +</set> diff --git a/Source/Android/app/src/main/res/anim/anim_card_game_out.xml b/Source/Android/app/src/main/res/anim/anim_card_game_out.xml new file mode 100644 index 0000000000..2d8cbd1711 --- /dev/null +++ b/Source/Android/app/src/main/res/anim/anim_card_game_out.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + + <scale + android:duration="@android:integer/config_shortAnimTime" + android:interpolator="@android:anim/decelerate_interpolator" + android:fromXScale="1.05" + android:fromYScale="1.05" + android:pivotX="50%" + android:pivotY="50%" + android:toXScale="1.0" + android:toYScale="1.0" /> + +</set> |
