diff options
3 files changed, 64 insertions, 58 deletions
| diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt index 77288b6d8..eca84a694 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt @@ -6,6 +6,7 @@ package org.yuzu.yuzu_emu.adapters  import android.annotation.SuppressLint  import android.graphics.Bitmap  import android.graphics.BitmapFactory +import android.text.TextUtils  import android.view.LayoutInflater  import android.view.View  import android.view.ViewGroup @@ -31,7 +32,7 @@ class GameAdapter(private val activity: AppCompatActivity) :      override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GameViewHolder {          // Create a new view.          val binding = CardGameBinding.inflate(LayoutInflater.from(parent.context), parent, false) -        binding.root.setOnClickListener(this) +        binding.cardGame.setOnClickListener(this)          // Use that view to create a ViewHolder.          return GameViewHolder(binding) @@ -58,7 +59,7 @@ class GameAdapter(private val activity: AppCompatActivity) :          lateinit var game: Game          init { -            itemView.tag = this +            binding.cardGame.tag = this          }          fun bind(game: Game) { @@ -73,11 +74,14 @@ class GameAdapter(private val activity: AppCompatActivity) :              }              binding.textGameTitle.text = game.title.replace("[\\t\\n\\r]+".toRegex(), " ") -            binding.textGameCaption.text = game.company -            if (game.company.isEmpty()) { -                binding.textGameCaption.visibility = View.GONE -            } +            binding.textGameTitle.postDelayed( +                { +                    binding.textGameTitle.ellipsize = TextUtils.TruncateAt.MARQUEE +                    binding.textGameTitle.isSelected = true +                }, +                3000 +            )          }      } diff --git a/src/android/app/src/main/res/layout/card_game.xml b/src/android/app/src/main/res/layout/card_game.xml index 4b7d2b3cc..469ad9edf 100644 --- a/src/android/app/src/main/res/layout/card_game.xml +++ b/src/android/app/src/main/res/layout/card_game.xml @@ -1,64 +1,66 @@  <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout +<FrameLayout      xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:app="http://schemas.android.com/apk/res-auto"      xmlns:tools="http://schemas.android.com/tools"      android:layout_width="match_parent" -    android:layout_height="wrap_content" -    android:foreground="?attr/selectableItemBackground" -    android:clickable="true" -    android:clipToPadding="false" -    android:focusable="true" -    android:paddingStart="4dp" -    android:paddingTop="8dp" -    android:paddingEnd="4dp" -    android:paddingBottom="8dp" -    android:transitionName="card_game"> +    android:layout_height="wrap_content">      <com.google.android.material.card.MaterialCardView          style="?attr/materialCardViewElevatedStyle" -        android:id="@+id/card_game_art" -        android:layout_width="140dp" -        android:layout_height="140dp" -        app:cardCornerRadius="4dp" -        app:layout_constraintEnd_toEndOf="parent" -        app:layout_constraintStart_toStartOf="parent" -        app:layout_constraintTop_toTopOf="parent"> +        android:id="@+id/card_game" +        android:layout_width="wrap_content" +        android:layout_height="wrap_content" +        android:background="?attr/selectableItemBackground" +        android:clickable="true" +        android:clipToPadding="false" +        android:focusable="true" +        android:transitionName="card_game" +        android:layout_gravity="center" +        app:cardElevation="0dp" +        app:cardCornerRadius="12dp"> -        <ImageView -            android:id="@+id/image_game_screen" -            android:layout_width="match_parent" -            android:layout_height="match_parent" /> +        <androidx.constraintlayout.widget.ConstraintLayout +            android:layout_width="wrap_content" +            android:layout_height="wrap_content" +            android:padding="6dp"> -    </com.google.android.material.card.MaterialCardView> +            <com.google.android.material.card.MaterialCardView +                style="?attr/materialCardViewElevatedStyle" +                android:id="@+id/card_game_art" +                android:layout_width="150dp" +                android:layout_height="150dp" +                app:cardCornerRadius="4dp" +                app:layout_constraintEnd_toEndOf="parent" +                app:layout_constraintStart_toStartOf="parent" +                app:layout_constraintTop_toTopOf="parent"> -    <com.google.android.material.textview.MaterialTextView -        style="@style/TextAppearance.Material3.BodyLarge" -        android:id="@+id/text_game_title" -        android:layout_width="0dp" -        android:layout_height="wrap_content" -        android:ellipsize="end" -        android:maxLines="2" -        android:paddingTop="8dp" -        android:textAlignment="viewStart" -        app:layout_constraintEnd_toEndOf="@+id/card_game_art" -        app:layout_constraintStart_toStartOf="@+id/card_game_art" -        app:layout_constraintTop_toBottomOf="@+id/card_game_art" -        tools:text="Super Mario Odyssey" /> +                <ImageView +                    android:id="@+id/image_game_screen" +                    android:layout_width="match_parent" +                    android:layout_height="match_parent" /> -    <com.google.android.material.textview.MaterialTextView -        style="@style/TextAppearance.Material3.BodyMedium" -        android:id="@+id/text_game_caption" -        android:layout_width="0dp" -        android:layout_height="wrap_content" -        android:ellipsize="end" -        android:lines="1" -        android:maxLines="1" -        android:paddingTop="8dp" -        android:textAlignment="viewStart" -        app:layout_constraintEnd_toEndOf="@+id/card_game_art" -        app:layout_constraintStart_toStartOf="@+id/card_game_art" -        app:layout_constraintTop_toBottomOf="@+id/text_game_title" -        tools:text="Nintendo" /> +            </com.google.android.material.card.MaterialCardView> + +            <com.google.android.material.textview.MaterialTextView +                style="@style/TextAppearance.Material3.TitleMedium" +                android:id="@+id/text_game_title" +                android:layout_width="0dp" +                android:layout_height="wrap_content" +                android:layout_marginTop="8dp" +                android:textAlignment="center" +                android:textSize="14sp" +                android:singleLine="true" +                android:marqueeRepeatLimit="marquee_forever" +                android:ellipsize="none" +                android:requiresFadingEdge="horizontal" +                app:layout_constraintEnd_toEndOf="@+id/card_game_art" +                app:layout_constraintStart_toStartOf="@+id/card_game_art" +                app:layout_constraintTop_toBottomOf="@+id/card_game_art" +                tools:text="The Legend of Zelda: Skyward Sword" /> + +        </androidx.constraintlayout.widget.ConstraintLayout> + +    </com.google.android.material.card.MaterialCardView> -</androidx.constraintlayout.widget.ConstraintLayout> +</FrameLayout> diff --git a/src/android/app/src/main/res/values/dimens.xml b/src/android/app/src/main/res/values/dimens.xml index 23977c9f1..ab2583938 100644 --- a/src/android/app/src/main/res/values/dimens.xml +++ b/src/android/app/src/main/res/values/dimens.xml @@ -11,7 +11,7 @@      <dimen name="spacing_refresh_start">32dp</dimen>      <dimen name="spacing_refresh_end">96dp</dimen>      <dimen name="menu_width">256dp</dimen> -    <dimen name="card_width">160dp</dimen> +    <dimen name="card_width">165dp</dimen>      <dimen name="dialog_margin">20dp</dimen>      <dimen name="elevated_app_bar">3dp</dimen> | 
