Browse Source
android: Rework setup fragment to use multiple buttons per-page
android: Rework setup fragment to use multiple buttons per-page
Adapted from f771952e62 (diff-e59f69380a076aef2745f7ab65072ca25fc26c598e2ed177475a15fe44121b4d)
pull/2854/head
12 changed files with 434 additions and 286 deletions
-
85src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/SetupAdapter.kt
-
6src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AddGameFolderDialogFragment.kt
-
379src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt
-
59src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupWarningDialogFragment.kt
-
29src/android/app/src/main/java/org/yuzu/yuzu_emu/model/SetupPage.kt
-
9src/android/app/src/main/res/drawable/ic_permission.xml
-
2src/android/app/src/main/res/layout-w600dp/fragment_setup.xml
-
108src/android/app/src/main/res/layout-w600dp/page_setup.xml
-
2src/android/app/src/main/res/layout/fragment_setup.xml
-
8src/android/app/src/main/res/layout/page_button.xml
-
29src/android/app/src/main/res/layout/page_setup.xml
-
4src/android/app/src/main/res/values/strings.xml
@ -0,0 +1,9 @@ |
|||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
|
android:width="24dp" |
||||
|
android:height="24dp" |
||||
|
android:viewportWidth="24" |
||||
|
android:viewportHeight="24"> |
||||
|
<path |
||||
|
android:fillColor="?attr/colorControlNormal" |
||||
|
android:pathData="M12,1L3,5v6c0,5.55 3.84,10.74 9,12 5.16,-1.26 9,-6.45 9,-12V5l-9,-4zM12,11.99h7c-0.53,4.12 -3.28,7.79 -7,8.94V12H5V6.3l7,-3.11v8.8z"/> |
||||
|
</vector> |
||||
@ -1,97 +1,101 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout |
|
||||
|
<androidx.constraintlayout.widget.ConstraintLayout |
||||
xmlns:android="http://schemas.android.com/apk/res/android" |
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
xmlns:tools="http://schemas.android.com/tools" |
xmlns:tools="http://schemas.android.com/tools" |
||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||
android:layout_height="match_parent"> |
android:layout_height="match_parent"> |
||||
|
|
||||
<LinearLayout |
|
||||
android:layout_width="match_parent" |
|
||||
|
<androidx.constraintlayout.widget.ConstraintLayout |
||||
|
android:id="@+id/left_content" |
||||
|
android:layout_width="0dp" |
||||
android:layout_height="match_parent" |
android:layout_height="match_parent" |
||||
android:orientation="vertical" |
|
||||
android:layout_weight="1" |
|
||||
android:gravity="center"> |
|
||||
|
app:layout_constraintStart_toStartOf="parent" |
||||
|
app:layout_constraintEnd_toStartOf="@+id/right_content" |
||||
|
app:layout_constraintHorizontal_weight="2"> |
||||
|
|
||||
<ImageView |
<ImageView |
||||
android:id="@+id/icon" |
android:id="@+id/icon" |
||||
android:layout_width="260dp" |
|
||||
android:layout_height="260dp" |
|
||||
android:layout_gravity="center" /> |
|
||||
|
|
||||
</LinearLayout> |
|
||||
|
|
||||
<androidx.constraintlayout.widget.ConstraintLayout |
|
||||
android:layout_width="match_parent" |
|
||||
android:layout_height="match_parent" |
|
||||
android:layout_weight="1"> |
|
||||
|
android:layout_width="0dp" |
||||
|
android:layout_height="0dp" |
||||
|
android:layout_marginTop="32dp" |
||||
|
app:layout_constraintBottom_toTopOf="@+id/text_title" |
||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||
|
app:layout_constraintHeight_max="160dp" |
||||
|
app:layout_constraintHeight_min="80dp" |
||||
|
app:layout_constraintStart_toStartOf="parent" |
||||
|
app:layout_constraintTop_toTopOf="parent" |
||||
|
app:layout_constraintWidth_max="160dp" |
||||
|
app:layout_constraintWidth_min="80dp" |
||||
|
app:layout_constraintVertical_chainStyle="packed" |
||||
|
app:layout_constraintVertical_weight="3" |
||||
|
tools:src="@drawable/ic_notification" /> |
||||
|
|
||||
<com.google.android.material.textview.MaterialTextView |
<com.google.android.material.textview.MaterialTextView |
||||
android:id="@+id/text_title" |
android:id="@+id/text_title" |
||||
style="@style/TextAppearance.Material3.DisplaySmall" |
|
||||
|
style="@style/SynthwaveText.Header" |
||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
|
||||
android:gravity="center" |
|
||||
android:textColor="?attr/colorOnSurface" |
|
||||
|
android:layout_height="wrap_content" |
||||
|
android:textAlignment="center" |
||||
android:textStyle="bold" |
android:textStyle="bold" |
||||
app:layout_constraintBottom_toTopOf="@+id/text_description" |
app:layout_constraintBottom_toTopOf="@+id/text_description" |
||||
app:layout_constraintEnd_toEndOf="parent" |
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
|
||||
app:layout_constraintVertical_weight="2" |
|
||||
|
app:layout_constraintTop_toBottomOf="@+id/icon" |
||||
tools:text="@string/welcome" /> |
tools:text="@string/welcome" /> |
||||
|
|
||||
<com.google.android.material.textview.MaterialTextView |
<com.google.android.material.textview.MaterialTextView |
||||
android:id="@+id/text_description" |
android:id="@+id/text_description" |
||||
style="@style/TextAppearance.Material3.TitleLarge" |
style="@style/TextAppearance.Material3.TitleLarge" |
||||
android:layout_width="0dp" |
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
|
||||
android:gravity="center" |
|
||||
android:textSize="20sp" |
|
||||
|
android:layout_height="wrap_content" |
||||
android:paddingHorizontal="16dp" |
android:paddingHorizontal="16dp" |
||||
app:layout_constraintBottom_toTopOf="@+id/button_action" |
|
||||
|
android:textAlignment="center" |
||||
|
android:textSize="20sp" |
||||
|
app:layout_constraintBottom_toTopOf="@+id/text_confirmation" |
||||
app:layout_constraintEnd_toEndOf="parent" |
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@+id/text_title" |
app:layout_constraintTop_toBottomOf="@+id/text_title" |
||||
app:layout_constraintVertical_weight="2" |
|
||||
app:lineHeight="30sp" |
app:lineHeight="30sp" |
||||
tools:text="@string/welcome_description" /> |
tools:text="@string/welcome_description" /> |
||||
|
|
||||
<com.google.android.material.textview.MaterialTextView |
<com.google.android.material.textview.MaterialTextView |
||||
android:id="@+id/text_confirmation" |
android:id="@+id/text_confirmation" |
||||
style="@style/TextAppearance.Material3.TitleLarge" |
|
||||
android:layout_width="0dp" |
|
||||
android:layout_height="0dp" |
|
||||
|
style="@style/SynthwaveText.Accent" |
||||
|
android:layout_width="wrap_content" |
||||
|
android:layout_height="wrap_content" |
||||
android:paddingHorizontal="16dp" |
android:paddingHorizontal="16dp" |
||||
android:paddingBottom="20dp" |
|
||||
android:gravity="center" |
|
||||
android:textSize="30sp" |
|
||||
android:visibility="invisible" |
|
||||
android:text="@string/step_complete" |
android:text="@string/step_complete" |
||||
|
android:textAlignment="center" |
||||
|
android:textSize="30sp" |
||||
android:textStyle="bold" |
android:textStyle="bold" |
||||
|
android:visibility="invisible" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@+id/text_description" |
app:layout_constraintTop_toBottomOf="@+id/text_description" |
||||
app:layout_constraintVertical_weight="1" |
|
||||
app:lineHeight="30sp" /> |
app:lineHeight="30sp" /> |
||||
|
|
||||
<com.google.android.material.button.MaterialButton |
|
||||
android:id="@+id/button_action" |
|
||||
style="@style/EdenButton.Primary" |
|
||||
android:layout_width="wrap_content" |
|
||||
android:layout_height="56dp" |
|
||||
android:layout_marginTop="16dp" |
|
||||
android:layout_marginBottom="48dp" |
|
||||
android:textSize="20sp" |
|
||||
app:iconGravity="end" |
|
||||
app:iconSize="24sp" |
|
||||
app:layout_constraintBottom_toBottomOf="parent" |
|
||||
app:layout_constraintEnd_toEndOf="parent" |
|
||||
app:layout_constraintStart_toStartOf="parent" |
|
||||
app:layout_constraintTop_toBottomOf="@+id/text_description" |
|
||||
tools:text="Get started" /> |
|
||||
|
|
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
|
|
||||
</LinearLayout> |
|
||||
|
<LinearLayout |
||||
|
android:id="@+id/right_content" |
||||
|
android:layout_width="0dp" |
||||
|
android:layout_height="match_parent" |
||||
|
android:gravity="center" |
||||
|
android:orientation="vertical" |
||||
|
android:padding="16dp" |
||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||
|
app:layout_constraintStart_toEndOf="@+id/left_content" |
||||
|
app:layout_constraintHorizontal_weight="1"> |
||||
|
|
||||
|
<LinearLayout |
||||
|
android:id="@+id/page_button_container" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:orientation="vertical" |
||||
|
android:gravity="center" /> |
||||
|
|
||||
|
</LinearLayout> |
||||
|
|
||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
@ -0,0 +1,8 @@ |
|||||
|
<com.google.android.material.button.MaterialButton xmlns:android="http://schemas.android.com/apk/res/android" |
||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
|
android:layout_width="170dp" |
||||
|
android:layout_height="55dp" |
||||
|
android:layout_marginBottom="16dp" |
||||
|
app:iconTint="?attr/colorOnPrimary" |
||||
|
app:iconSize="24dp" |
||||
|
style="@style/Widget.Material3.Button.UnelevatedButton" /> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue