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> |