diff options
Diffstat (limited to 'src/android/app/src/main/res/layout')
3 files changed, 198 insertions, 57 deletions
diff --git a/src/android/app/src/main/res/layout/activity_main.xml b/src/android/app/src/main/res/layout/activity_main.xml index 59812ab8e..6ca426b54 100644 --- a/src/android/app/src/main/res/layout/activity_main.xml +++ b/src/android/app/src/main/res/layout/activity_main.xml @@ -29,6 +29,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:menu="@menu/menu_navigation" + app:labelVisibilityMode="selected" tools:visibility="visible" /> <View diff --git a/src/android/app/src/main/res/layout/fragment_games.xml b/src/android/app/src/main/res/layout/fragment_games.xml index c4c3eacf4..8b6d0b3b6 100644 --- a/src/android/app/src/main/res/layout/fragment_games.xml +++ b/src/android/app/src/main/res/layout/fragment_games.xml @@ -1,74 +1,34 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.coordinatorlayout.widget.CoordinatorLayout +<androidx.swiperefreshlayout.widget.SwipeRefreshLayout 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:id="@+id/coordinator_main" + android:id="@+id/swipe_refresh" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="?attr/colorSurface"> + android:background="?attr/colorSurface" + android:clipToPadding="false"> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout - android:id="@+id/swipe_refresh" + <RelativeLayout android:layout_width="match_parent" - android:layout_height="match_parent" - android:clipToPadding="false" - app:layout_behavior="@string/searchbar_scrolling_view_behavior"> + android:layout_height="match_parent"> - <RelativeLayout + <com.google.android.material.textview.MaterialTextView + android:id="@+id/notice_text" + style="@style/TextAppearance.Material3.BodyLarge" android:layout_width="match_parent" - android:layout_height="match_parent"> - - <com.google.android.material.textview.MaterialTextView - android:id="@+id/notice_text" - style="@style/TextAppearance.Material3.BodyLarge" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:gravity="center" - android:padding="@dimen/spacing_large" - android:text="@string/empty_gamelist" - tools:visibility="gone" /> - - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/grid_games" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:clipToPadding="false" - tools:listitem="@layout/card_game" /> - - </RelativeLayout> - - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> - - <com.google.android.material.appbar.AppBarLayout - android:id="@+id/app_bar_search" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:fitsSystemWindows="true" - app:liftOnScrollTargetViewId="@id/grid_games"> - - <com.google.android.material.search.SearchBar - android:id="@+id/search_bar" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:hint="@string/home_search_games" /> - - </com.google.android.material.appbar.AppBarLayout> - - <com.google.android.material.search.SearchView - android:id="@+id/search_view" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:hint="@string/home_search_games" - app:layout_anchor="@id/search_bar"> + android:layout_height="match_parent" + android:gravity="center" + android:padding="@dimen/spacing_large" + android:text="@string/empty_gamelist" + tools:visibility="gone" /> <androidx.recyclerview.widget.RecyclerView - android:id="@+id/grid_search" + android:id="@+id/grid_games" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" tools:listitem="@layout/card_game" /> - </com.google.android.material.search.SearchView> + </RelativeLayout> -</androidx.coordinatorlayout.widget.CoordinatorLayout> +</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> diff --git a/src/android/app/src/main/res/layout/fragment_search.xml b/src/android/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 000000000..3b1aefdfb --- /dev/null +++ b/src/android/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout + 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="match_parent" + android:background="?attr/colorSurface"> + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/divider"> + + <LinearLayout + android:id="@+id/no_results_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical" + android:gravity="center"> + + <ImageView + android:id="@+id/icon_no_results" + android:layout_width="match_parent" + android:layout_height="80dp" + android:src="@drawable/ic_search" /> + + <com.google.android.material.textview.MaterialTextView + android:id="@+id/notice_text" + style="@style/TextAppearance.Material3.TitleLarge" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:paddingTop="8dp" + android:text="@string/search_and_filter_games" + tools:visibility="visible" /> + + </LinearLayout> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/grid_games_search" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:clipToPadding="false" /> + + </RelativeLayout> + + <FrameLayout + android:id="@+id/frame_search" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="20dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <com.google.android.material.card.MaterialCardView + android:id="@+id/search_background" + style="?attr/materialCardViewFilledStyle" + android:layout_width="match_parent" + android:layout_height="56dp" + app:cardCornerRadius="28dp"> + + <LinearLayout + android:id="@+id/search_container" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginStart="24dp" + android:layout_marginEnd="56dp" + android:orientation="horizontal"> + + <ImageView + android:layout_width="28dp" + android:layout_height="28dp" + android:layout_gravity="center_vertical" + android:layout_marginEnd="24dp" + android:src="@drawable/ic_search" + app:tint="?attr/colorOnSurfaceVariant" /> + + <EditText + android:id="@+id/search_text" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@android:color/transparent" + android:hint="@string/home_search_games" + android:inputType="text" + android:maxLines="1" + android:imeOptions="flagNoFullscreen" /> + + </LinearLayout> + + <ImageView + android:id="@+id/clear_button" + android:layout_width="24dp" + android:layout_height="24dp" + android:layout_gravity="center_vertical|end" + android:layout_marginEnd="24dp" + android:background="?attr/selectableItemBackground" + android:src="@drawable/ic_clear" + android:visibility="invisible" + app:tint="?attr/colorOnSurfaceVariant" + tools:visibility="visible" /> + + </com.google.android.material.card.MaterialCardView> + + </FrameLayout> + + <HorizontalScrollView + android:id="@+id/horizontalScrollView" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:fadingEdge="horizontal" + android:scrollbars="none" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/frame_search"> + + <com.google.android.material.chip.ChipGroup + android:id="@+id/chip_group" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:clipToPadding="false" + android:paddingVertical="4dp" + app:chipSpacingHorizontal="12dp" + app:singleLine="true" + app:singleSelection="true"> + + <com.google.android.material.chip.Chip + android:id="@+id/chip_recently_played" + style="@style/Widget.Material3.Chip.Suggestion.Elevated" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:checked="false" + android:text="@string/search_recently_played" + app:chipCornerRadius="28dp" /> + + <com.google.android.material.chip.Chip + android:id="@+id/chip_recently_added" + style="@style/Widget.Material3.Chip.Suggestion.Elevated" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:checked="false" + android:text="@string/search_recently_added" + app:chipCornerRadius="28dp" /> + + <com.google.android.material.chip.Chip + android:id="@+id/chip_retail" + style="@style/Widget.Material3.Chip.Suggestion.Elevated" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:checked="false" + android:text="@string/search_retail" + app:chipCornerRadius="28dp" /> + + <com.google.android.material.chip.Chip + android:id="@+id/chip_homebrew" + style="@style/Widget.Material3.Chip.Suggestion.Elevated" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:checked="false" + android:text="@string/search_homebrew" + app:chipCornerRadius="28dp" /> + + </com.google.android.material.chip.ChipGroup> + + </HorizontalScrollView> + + <com.google.android.material.divider.MaterialDivider + android:id="@+id/divider" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="20dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/horizontalScrollView" /> + +</androidx.constraintlayout.widget.ConstraintLayout> |