Browse Source
Built-in landscape searchbar & status bar fixes (#154)
Built-in landscape searchbar & status bar fixes (#154)
android layout: landscape: moves the searchbar to top bar's free space, increasing room for gamelist; minor fixes: landscape: avoid settings button getting beneath android navbar; portrait: avoid top bar's getting beneath android status bar. Co-authored-by: Allison Cunha <allisonbzk@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/154 Co-authored-by: xbzk <xbzk@noreply.localhost> Co-committed-by: xbzk <xbzk@noreply.localhost>pull/21/head
committed by
crueter
2 changed files with 226 additions and 0 deletions
-
7src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/GamesFragment.kt
-
219src/android/app/src/main/res/layout-land/fragment_games.xml
@ -0,0 +1,219 @@ |
|||||
|
<androidx.constraintlayout.widget.ConstraintLayout |
||||
|
|
||||
|
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
|
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent" |
||||
|
android:background="?attr/colorSurface" |
||||
|
> |
||||
|
|
||||
|
<LinearLayout |
||||
|
android:id="@+id/header" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:orientation="horizontal" |
||||
|
android:layout_marginHorizontal="20dp" |
||||
|
app:layout_constraintTop_toTopOf="parent" |
||||
|
> |
||||
|
|
||||
|
<com.google.android.material.textview.MaterialTextView |
||||
|
android:id="@+id/title" |
||||
|
android:layout_width="wrap_content" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:text="@string/app_name" |
||||
|
android:textAppearance="@style/TextAppearance.Material3.HeadlineLarge" |
||||
|
android:textSize="27sp" |
||||
|
android:textStyle="bold" |
||||
|
/> |
||||
|
|
||||
|
<FrameLayout |
||||
|
android:id="@+id/frame_search" |
||||
|
android:layout_width="0dp" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:layout_marginHorizontal="15dp" |
||||
|
android:layout_weight="1" |
||||
|
android:visibility="visible" |
||||
|
app:layout_constraintStart_toStartOf="parent" |
||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||
|
app:layout_constraintTop_toBottomOf="@id/header" |
||||
|
> |
||||
|
|
||||
|
<com.google.android.material.card.MaterialCardView |
||||
|
android:id="@+id/search_background" |
||||
|
style="?attr/materialCardViewFilledStyle" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="48dp" |
||||
|
app:cardCornerRadius="21dp" |
||||
|
> |
||||
|
|
||||
|
<LinearLayout |
||||
|
android:id="@+id/search_container" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent" |
||||
|
android:layout_marginStart="18dp" |
||||
|
android:layout_marginEnd="42dp" |
||||
|
android:orientation="horizontal" |
||||
|
> |
||||
|
|
||||
|
<ImageView |
||||
|
android:layout_width="21dp" |
||||
|
android:layout_height="21dp" |
||||
|
android:layout_gravity="center_vertical" |
||||
|
android:layout_marginEnd="18dp" |
||||
|
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="18dp" |
||||
|
android:layout_height="18dp" |
||||
|
android:layout_gravity="center_vertical|end" |
||||
|
android:layout_marginEnd="18dp" |
||||
|
android:background="?attr/selectableItemBackground" |
||||
|
android:src="@drawable/ic_clear" |
||||
|
android:visibility="invisible" |
||||
|
app:tint="?attr/colorOnSurfaceVariant" |
||||
|
/> |
||||
|
|
||||
|
</com.google.android.material.card.MaterialCardView> |
||||
|
|
||||
|
</FrameLayout> |
||||
|
|
||||
|
<com.google.android.material.card.MaterialCardView |
||||
|
android:id="@+id/view_button" |
||||
|
style="?attr/materialCardViewFilledStyle" |
||||
|
android:layout_width="42dp" |
||||
|
android:layout_height="42dp" |
||||
|
app:cardCornerRadius="21dp" |
||||
|
> |
||||
|
|
||||
|
<ImageView |
||||
|
android:layout_width="18dp" |
||||
|
android:layout_height="18dp" |
||||
|
android:layout_gravity="center" |
||||
|
android:src="@drawable/ic_eye" |
||||
|
app:tint="?attr/colorOnSurfaceVariant" |
||||
|
/> |
||||
|
|
||||
|
</com.google.android.material.card.MaterialCardView> |
||||
|
|
||||
|
<Space |
||||
|
android:layout_width="15dp" |
||||
|
android:layout_height="wrap_content" |
||||
|
/> |
||||
|
|
||||
|
<com.google.android.material.card.MaterialCardView |
||||
|
android:id="@+id/filter_button" |
||||
|
style="?attr/materialCardViewFilledStyle" |
||||
|
android:layout_width="42dp" |
||||
|
android:layout_height="42dp" |
||||
|
app:cardCornerRadius="21dp" |
||||
|
> |
||||
|
|
||||
|
<ImageView |
||||
|
android:layout_width="18dp" |
||||
|
android:layout_height="18dp" |
||||
|
android:layout_gravity="center" |
||||
|
android:src="@drawable/ic_filter" |
||||
|
app:tint="?attr/colorOnSurfaceVariant" |
||||
|
/> |
||||
|
|
||||
|
</com.google.android.material.card.MaterialCardView> |
||||
|
|
||||
|
<Space |
||||
|
android:layout_width="15dp" |
||||
|
android:layout_height="wrap_content" |
||||
|
/> |
||||
|
|
||||
|
<com.google.android.material.card.MaterialCardView |
||||
|
android:id="@+id/settings_button" |
||||
|
style="?attr/materialCardViewFilledStyle" |
||||
|
android:layout_width="42dp" |
||||
|
android:layout_height="42dp" |
||||
|
app:cardCornerRadius="21dp" |
||||
|
> |
||||
|
|
||||
|
<ImageView |
||||
|
android:layout_width="18dp" |
||||
|
android:layout_height="18dp" |
||||
|
android:layout_gravity="center" |
||||
|
android:src="@drawable/ic_settings" |
||||
|
app:tint="?attr/colorOnSurfaceVariant" |
||||
|
/> |
||||
|
|
||||
|
</com.google.android.material.card.MaterialCardView> |
||||
|
|
||||
|
</LinearLayout> |
||||
|
|
||||
|
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
||||
|
android:id="@+id/swipe_refresh" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="0dp" |
||||
|
android:layout_marginTop="8dp" |
||||
|
app:layout_constraintTop_toBottomOf="@id/header" |
||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||
|
> |
||||
|
|
||||
|
<RelativeLayout |
||||
|
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" |
||||
|
android:visibility="gone" |
||||
|
/> |
||||
|
|
||||
|
<androidx.recyclerview.widget.RecyclerView |
||||
|
android:id="@+id/grid_games" |
||||
|
android:layout_width="match_parent" |
||||
|
android:layout_height="match_parent" |
||||
|
android:clipToPadding="false" |
||||
|
android:scrollbarStyle="outsideOverlay" |
||||
|
android:scrollbars="vertical" |
||||
|
android:fadeScrollbars="true" |
||||
|
android:paddingHorizontal="4dp" |
||||
|
android:paddingVertical="4dp" |
||||
|
/> |
||||
|
|
||||
|
|
||||
|
</RelativeLayout> |
||||
|
|
||||
|
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
||||
|
|
||||
|
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton |
||||
|
android:id="@+id/add_directory" |
||||
|
android:layout_width="wrap_content" |
||||
|
android:layout_height="wrap_content" |
||||
|
android:layout_margin="16dp" |
||||
|
android:contentDescription="Select_game_folder" |
||||
|
android:text="@string/folder" |
||||
|
app:icon="@drawable/ic_cartridge_outline" |
||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||
|
android:textColor="?attr/colorOnPrimaryContainer" |
||||
|
app:backgroundTint="?attr/colorPrimaryContainer" |
||||
|
app:iconTint="?attr/colorOnPrimaryContainer" |
||||
|
/> |
||||
|
|
||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue