summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt16
-rw-r--r--src/android/app/src/main/res/layout/card_game.xml104
-rw-r--r--src/android/app/src/main/res/values/dimens.xml2
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>