diff options
| author | JosJuice <josjuice@gmail.com> | 2022-09-13 21:14:30 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-13 21:14:30 +0200 |
| commit | 351ebe668ff613e5619cf7e7e91b0771238d75e4 (patch) | |
| tree | b885587c0558c832ad22a06d8c540057c2f05dfd /Source | |
| parent | 7f450f1d7e7d37bd2300f3a2134cb443d07251f9 (diff) | |
| parent | 8c477852f315b26202c33e849736757203c4b327 (diff) | |
Merge pull request #11056 from t895/new-bars
Android: Add more top app bars
Diffstat (limited to 'Source')
8 files changed, 495 insertions, 316 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/ConvertActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/ConvertActivity.java index e2ee9ae353..63478fee0b 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/ConvertActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/ConvertActivity.java @@ -8,6 +8,9 @@ import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; +import com.google.android.material.appbar.CollapsingToolbarLayout; +import com.google.android.material.appbar.MaterialToolbar; + import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.fragments.ConvertFragment; import org.dolphinemu.dolphinemu.utils.ThemeHelper; @@ -41,5 +44,18 @@ public class ConvertActivity extends AppCompatActivity fragment = ConvertFragment.newInstance(path); getSupportFragmentManager().beginTransaction().add(R.id.fragment_convert, fragment).commit(); } + + MaterialToolbar tb = findViewById(R.id.toolbar_convert); + CollapsingToolbarLayout ctb = findViewById(R.id.toolbar_convert_layout); + ctb.setTitle(getString(R.string.convert_convert)); + setSupportActionBar(tb); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + + @Override + public boolean onSupportNavigateUp() + { + onBackPressed(); + return true; } } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionBootActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionBootActivity.java index 4cc014d646..70487da0b9 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionBootActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/riivolution/ui/RiivolutionBootActivity.java @@ -12,6 +12,9 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.android.material.appbar.CollapsingToolbarLayout; +import com.google.android.material.appbar.MaterialToolbar; + import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.activities.EmulationActivity; import org.dolphinemu.dolphinemu.features.riivolution.model.RiivolutionPatches; @@ -77,6 +80,12 @@ public class RiivolutionBootActivity extends AppCompatActivity patches.loadConfig(); runOnUiThread(() -> populateList(patches)); }).start(); + + MaterialToolbar tb = findViewById(R.id.toolbar_riivolution); + CollapsingToolbarLayout ctb = findViewById(R.id.toolbar_riivolution_layout); + ctb.setTitle(getString(R.string.riivolution_riivolution)); + setSupportActionBar(tb); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override @@ -88,6 +97,13 @@ public class RiivolutionBootActivity extends AppCompatActivity mPatches.saveConfig(); } + @Override + public boolean onSupportNavigateUp() + { + onBackPressed(); + return true; + } + private void populateList(RiivolutionPatches patches) { mPatches = patches; diff --git a/Source/Android/app/src/main/res/layout-land/activity_user_data.xml b/Source/Android/app/src/main/res/layout-land/activity_user_data.xml index c60fd3b07f..597e598266 100644 --- a/Source/Android/app/src/main/res/layout-land/activity_user_data.xml +++ b/Source/Android/app/src/main/res/layout-land/activity_user_data.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout +<androidx.coordinatorlayout.widget.CoordinatorLayout 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" @@ -10,116 +10,135 @@ android:id="@+id/appbar_user_data" android:layout_width="match_parent" android:layout_height="wrap_content" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent"> + android:layout_alignParentTop="true" + app:elevation="0dp"> - <com.google.android.material.appbar.MaterialToolbar - android:id="@+id/toolbar_user_data" + <com.google.android.material.appbar.CollapsingToolbarLayout + style="?attr/collapsingToolbarLayoutMediumStyle" + android:id="@+id/toolbar_user_data_layout" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?attr/colorSurface" /> + android:layout_height="?attr/collapsingToolbarLayoutMediumSize" + app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar_user_data" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorSurface" + app:layout_collapseMode="pin" + app:elevation="0dp" /> + + </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout> - <TextView - android:id="@+id/text_type" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_medlarge" - app:layout_constraintBottom_toTopOf="@id/text_path" - app:layout_constraintEnd_toStartOf="@id/divider" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/appbar_user_data" - app:layout_constraintVertical_chainStyle="packed" - app:layout_constraintWidth_max="400dp" - tools:text="@string/user_data_new_location" /> - - <TextView - android:id="@+id/text_path" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_medlarge" - tools:text="/storage/emulated/0/Android/data/org.dolphinemu.dolphinemu/files" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/divider" - app:layout_constraintTop_toBottomOf="@id/text_type" - app:layout_constraintBottom_toTopOf="@id/text_android_11" - app:layout_constraintWidth_max="400dp" /> - - <TextView - android:id="@+id/text_android_11" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_medlarge" - android:text="@string/user_data_new_location_android_11" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/divider" - app:layout_constraintTop_toBottomOf="@id/text_path" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintWidth_max="400dp" /> - - <androidx.constraintlayout.widget.Barrier - android:id="@+id/barrier_text" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:barrierDirection="end" - app:constraint_referenced_ids="text_type,text_path,text_android_11" /> - - <View - android:id="@+id/divider" - android:layout_width="1dp" - android:layout_height="0dp" - android:background="#1F000000" - android:layout_marginStart="24dp" - android:layout_marginEnd="24dp" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toEndOf="@id/barrier_text" - app:layout_constraintEnd_toStartOf="@id/barrier_buttons" /> - - <androidx.constraintlayout.widget.Barrier - android:id="@+id/barrier_buttons" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:barrierDirection="start" - app:constraint_referenced_ids="button_open_system_file_manager,button_import_user_data,button_export_user_data" /> + <androidx.core.widget.NestedScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> - <Button - android:id="@+id/button_open_system_file_manager" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_small" - android:text="@string/user_data_open_system_file_manager" - app:layout_constraintBottom_toTopOf="@id/button_import_user_data" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@id/barrier_text" - app:layout_constraintTop_toBottomOf="@+id/appbar_user_data" - app:layout_constraintVertical_chainStyle="packed" - app:layout_constraintWidth_max="400dp" /> - - <Button - android:id="@+id/button_import_user_data" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_small" - android:text="@string/user_data_import" - app:layout_constraintStart_toEndOf="@id/barrier_text" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/button_open_system_file_manager" - app:layout_constraintBottom_toTopOf="@id/button_export_user_data" - app:layout_constraintWidth_max="400dp" /> - - <Button - android:id="@+id/button_export_user_data" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_small" - android:text="@string/user_data_export" - app:layout_constraintStart_toEndOf="@id/barrier_text" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/button_import_user_data" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintWidth_max="400dp" /> - -</androidx.constraintlayout.widget.ConstraintLayout> + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="16dp"> + + <TextView + android:id="@+id/text_type" + android:layout_width="0dp" + android:layout_height="wrap_content" + app:layout_constraintBottom_toTopOf="@id/text_path" + app:layout_constraintWidth_max="400dp" + app:layout_constraintEnd_toStartOf="@id/divider" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="@id/divider" + tools:text="@string/user_data_new_location" /> + + <TextView + android:id="@+id/text_path" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + tools:text="/storage/emulated/0/Android/data/org.dolphinemu.dolphinemu/files" + app:layout_constraintWidth_max="400dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/divider" + app:layout_constraintTop_toBottomOf="@id/text_type" + app:layout_constraintBottom_toTopOf="@id/text_android_11" /> + + <TextView + android:id="@+id/text_android_11" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:text="@string/user_data_new_location_android_11" + app:layout_constraintWidth_max="400dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/divider" + app:layout_constraintTop_toBottomOf="@id/text_path" + app:layout_constraintBottom_toBottomOf="parent" /> + + <androidx.constraintlayout.widget.Barrier + android:id="@+id/barrier_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:barrierDirection="end" + app:constraint_referenced_ids="text_type,text_path,text_android_11" /> + + <View + android:id="@+id/divider" + android:layout_width="1dp" + android:layout_height="0dp" + android:background="#1F000000" + android:layout_marginStart="24dp" + android:layout_marginEnd="24dp" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/barrier_text" + app:layout_constraintEnd_toStartOf="@id/barrier_buttons" /> + + <androidx.constraintlayout.widget.Barrier + android:id="@+id/barrier_buttons" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:barrierDirection="start" + app:constraint_referenced_ids="button_open_system_file_manager,button_import_user_data,button_export_user_data" /> + + <Button + android:id="@+id/button_open_system_file_manager" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/spacing_small" + android:text="@string/user_data_open_system_file_manager" + app:layout_constraintBottom_toTopOf="@id/button_import_user_data" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@id/barrier_text" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_chainStyle="packed" /> + + <Button + android:id="@+id/button_import_user_data" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/spacing_small" + android:text="@string/user_data_import" + app:layout_constraintStart_toEndOf="@id/barrier_text" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/button_open_system_file_manager" + app:layout_constraintBottom_toTopOf="@id/button_export_user_data" /> + + <Button + android:id="@+id/button_export_user_data" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/spacing_small" + android:text="@string/user_data_export" + app:layout_constraintStart_toEndOf="@id/barrier_text" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/button_import_user_data" + app:layout_constraintBottom_toBottomOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + </androidx.core.widget.NestedScrollView> + +</androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/Source/Android/app/src/main/res/layout-w680dp-land/activity_convert.xml b/Source/Android/app/src/main/res/layout-w680dp-land/activity_convert.xml index bd37c3deb6..8091203873 100644 --- a/Source/Android/app/src/main/res/layout-w680dp-land/activity_convert.xml +++ b/Source/Android/app/src/main/res/layout-w680dp-land/activity_convert.xml @@ -1,50 +1,83 @@ <?xml version="1.0" encoding="utf-8"?> -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" +<androidx.coordinatorlayout.widget.CoordinatorLayout + 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:fillViewport="true" - xmlns:app="http://schemas.android.com/apk/res-auto"> + android:layout_height="match_parent"> - <androidx.constraintlayout.widget.ConstraintLayout + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appbar_convert" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="16dp"> + android:layout_alignParentTop="true" + app:elevation="0dp"> - <TextView - android:id="@+id/label_format_info" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/convert_format_info" - app:layout_constraintWidth_max="400dp" - app:layout_constraintHorizontal_bias="1.0" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/divider" /> - - <View - android:id="@+id/divider" - android:layout_width="1dp" - android:layout_height="0dp" - android:background="#1F000000" - android:layout_marginStart="24dp" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toEndOf="@id/label_format_info" - app:layout_constraintEnd_toStartOf="@id/fragment_convert" /> - - <FrameLayout - android:id="@+id/fragment_convert" - android:layout_width="0dp" + <com.google.android.material.appbar.CollapsingToolbarLayout + style="?attr/collapsingToolbarLayoutMediumStyle" + android:id="@+id/toolbar_convert_layout" + android:layout_width="match_parent" + android:layout_height="?attr/collapsingToolbarLayoutMediumSize" + app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar_convert" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorSurface" + app:layout_collapseMode="pin" + app:elevation="0dp" /> + + </com.google.android.material.appbar.CollapsingToolbarLayout> + + </com.google.android.material.appbar.AppBarLayout> + + <androidx.core.widget.NestedScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="24dp" - app:layout_constraintWidth_max="400dp" - app:layout_constraintHorizontal_bias="0.0" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toEndOf="@id/divider" - app:layout_constraintEnd_toEndOf="parent" /> + android:padding="16dp"> + + <TextView + android:id="@+id/label_format_info" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:text="@string/convert_format_info" + app:layout_constraintWidth_max="400dp" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/divider" /> + + <View + android:id="@+id/divider" + android:layout_width="1dp" + android:layout_height="0dp" + android:background="#1F000000" + android:layout_marginStart="24dp" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/label_format_info" + app:layout_constraintEnd_toStartOf="@id/fragment_convert" /> + + <FrameLayout + android:id="@+id/fragment_convert" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="24dp" + app:layout_constraintWidth_max="400dp" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/divider" + app:layout_constraintEnd_toEndOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> - </androidx.constraintlayout.widget.ConstraintLayout> + </androidx.core.widget.NestedScrollView> -</ScrollView> +</androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/Source/Android/app/src/main/res/layout/activity_convert.xml b/Source/Android/app/src/main/res/layout/activity_convert.xml index b63559e248..b4b7b925dd 100644 --- a/Source/Android/app/src/main/res/layout/activity_convert.xml +++ b/Source/Android/app/src/main/res/layout/activity_convert.xml @@ -1,48 +1,81 @@ <?xml version="1.0" encoding="utf-8"?> -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" +<androidx.coordinatorlayout.widget.CoordinatorLayout + 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:fillViewport="true" - xmlns:app="http://schemas.android.com/apk/res-auto"> + android:layout_height="match_parent"> - <androidx.constraintlayout.widget.ConstraintLayout + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appbar_convert" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="16dp"> + android:layout_alignParentTop="true" + app:elevation="0dp"> - <FrameLayout - android:id="@+id/fragment_convert" - android:layout_width="0dp" - android:layout_height="wrap_content" - app:layout_constraintWidth_max="400dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toTopOf="@id/divider" /> - - <View - android:id="@+id/divider" - android:layout_width="0dp" - android:layout_height="1dp" - android:background="#1F000000" - android:layout_marginTop="24dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/fragment_convert" - app:layout_constraintBottom_toTopOf="@id/label_format_info" /> - - <TextView - android:id="@+id/label_format_info" - android:layout_width="0dp" + <com.google.android.material.appbar.CollapsingToolbarLayout + style="?attr/collapsingToolbarLayoutMediumStyle" + android:id="@+id/toolbar_convert_layout" + android:layout_width="match_parent" + android:layout_height="?attr/collapsingToolbarLayoutMediumSize" + app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar_convert" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorSurface" + app:layout_collapseMode="pin" + app:elevation="0dp" /> + + </com.google.android.material.appbar.CollapsingToolbarLayout> + + </com.google.android.material.appbar.AppBarLayout> + + <androidx.core.widget.NestedScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="24dp" - android:text="@string/convert_format_info" - app:layout_constraintWidth_max="400dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/divider" - app:layout_constraintBottom_toBottomOf="parent" /> + android:padding="16dp"> + + <FrameLayout + android:id="@+id/fragment_convert" + android:layout_width="0dp" + android:layout_height="wrap_content" + app:layout_constraintWidth_max="400dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toTopOf="@id/divider" /> + + <View + android:id="@+id/divider" + android:layout_width="0dp" + android:layout_height="1dp" + android:background="#1F000000" + android:layout_marginTop="24dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/fragment_convert" + app:layout_constraintBottom_toTopOf="@id/label_format_info" /> + + <TextView + android:id="@+id/label_format_info" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + android:text="@string/convert_format_info" + app:layout_constraintWidth_max="400dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/divider" + app:layout_constraintBottom_toBottomOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> - </androidx.constraintlayout.widget.ConstraintLayout> + </androidx.core.widget.NestedScrollView> -</ScrollView> +</androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/Source/Android/app/src/main/res/layout/activity_riivolution_boot.xml b/Source/Android/app/src/main/res/layout/activity_riivolution_boot.xml index 4cabdc846c..acc2d06ac7 100644 --- a/Source/Android/app/src/main/res/layout/activity_riivolution_boot.xml +++ b/Source/Android/app/src/main/res/layout/activity_riivolution_boot.xml @@ -1,60 +1,98 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout +<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/root" android:layout_width="match_parent" android:layout_height="match_parent"> - <TextView - android:id="@+id/text_sd_root" + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appbar_riivolution" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_large" - tools:text="@string/riivolution_sd_root" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toTopOf="@id/divider" /> - - <View - android:id="@+id/divider" - android:layout_width="0dp" - android:layout_height="1dp" - android:background="#1F000000" - android:layout_marginHorizontal="@dimen/spacing_large" - android:layout_marginVertical="@dimen/spacing_small" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/text_sd_root" - app:layout_constraintBottom_toTopOf="@id/scroll_view" /> - - <ScrollView - android:id="@+id/scroll_view" + android:layout_alignParentTop="true" + app:elevation="0dp"> + + <com.google.android.material.appbar.CollapsingToolbarLayout + style="?attr/collapsingToolbarLayoutMediumStyle" + android:id="@+id/toolbar_riivolution_layout" + android:layout_width="match_parent" + android:layout_height="?attr/collapsingToolbarLayoutMediumSize" + app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar_riivolution" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorSurface" + app:layout_collapseMode="pin" + app:elevation="0dp" /> + + </com.google.android.material.appbar.CollapsingToolbarLayout> + + </com.google.android.material.appbar.AppBarLayout> + + <androidx.core.widget.NestedScrollView android:layout_width="match_parent" - android:layout_height="0dp" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/divider" - app:layout_constraintBottom_toTopOf="@id/button_start"> - - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/recycler_view" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> + + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="0dp" /> + android:layout_height="wrap_content"> - </ScrollView> + <TextView + android:id="@+id/text_sd_root" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="@dimen/spacing_large" + tools:text="@string/riivolution_sd_root" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toTopOf="@id/divider" /> - <Button - android:id="@+id/button_start" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_large" - android:text="@string/riivolution_start" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/scroll_view" - app:layout_constraintBottom_toBottomOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> + <View + android:id="@+id/divider" + android:layout_width="0dp" + android:layout_height="1dp" + android:background="#1F000000" + android:layout_marginHorizontal="@dimen/spacing_large" + android:layout_marginVertical="@dimen/spacing_small" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/text_sd_root" + app:layout_constraintBottom_toTopOf="@id/scroll_view" /> + + <androidx.core.widget.NestedScrollView + android:id="@+id/scroll_view" + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/divider" + app:layout_constraintBottom_toTopOf="@id/button_start"> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/recycler_view" + android:layout_width="match_parent" + android:layout_height="0dp" /> + + </androidx.core.widget.NestedScrollView> + + <Button + android:id="@+id/button_start" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_margin="@dimen/spacing_large" + android:text="@string/riivolution_start" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/scroll_view" + app:layout_constraintBottom_toBottomOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + </androidx.core.widget.NestedScrollView> + +</androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/Source/Android/app/src/main/res/layout/activity_user_data.xml b/Source/Android/app/src/main/res/layout/activity_user_data.xml index 39484b7778..a9df023fce 100644 --- a/Source/Android/app/src/main/res/layout/activity_user_data.xml +++ b/Source/Android/app/src/main/res/layout/activity_user_data.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout +<androidx.coordinatorlayout.widget.CoordinatorLayout 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" @@ -10,88 +10,111 @@ android:id="@+id/appbar_user_data" android:layout_width="match_parent" android:layout_height="wrap_content" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent"> + android:layout_alignParentTop="true" + app:elevation="0dp"> - <com.google.android.material.appbar.MaterialToolbar - android:id="@+id/toolbar_user_data" + <com.google.android.material.appbar.CollapsingToolbarLayout + style="?attr/collapsingToolbarLayoutMediumStyle" + android:id="@+id/toolbar_user_data_layout" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?attr/colorSurface" /> + android:layout_height="?attr/collapsingToolbarLayoutMediumSize" + app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar_user_data" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorSurface" + app:layout_collapseMode="pin" + app:elevation="0dp" /> + + </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout> - <TextView - android:id="@+id/text_type" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_medlarge" - app:layout_constraintBottom_toTopOf="@id/text_path" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/appbar_user_data" - app:layout_constraintVertical_chainStyle="packed" - app:layout_constraintWidth_max="400dp" - tools:text="@string/user_data_new_location" /> - - <TextView - android:id="@+id/text_path" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_medlarge" - tools:text="/storage/emulated/0/Android/data/org.dolphinemu.dolphinemu/files" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/text_type" - app:layout_constraintBottom_toTopOf="@id/text_android_11" - app:layout_constraintWidth_max="400dp" /> - - <TextView - android:id="@+id/text_android_11" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginHorizontal="@dimen/spacing_medlarge" - android:layout_marginTop="@dimen/spacing_medlarge" - android:layout_marginBottom="24dp" - android:text="@string/user_data_new_location_android_11" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/text_path" - app:layout_constraintBottom_toTopOf="@id/button_open_system_file_manager" - app:layout_constraintWidth_max="400dp" /> - - <Button - android:id="@+id/button_open_system_file_manager" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_small" - android:text="@string/user_data_open_system_file_manager" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/text_android_11" - app:layout_constraintBottom_toTopOf="@id/button_import_user_data" /> - - <Button - android:id="@+id/button_import_user_data" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_small" - android:text="@string/user_data_import" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/button_open_system_file_manager" - app:layout_constraintBottom_toTopOf="@id/button_export_user_data" /> - - <Button - android:id="@+id/button_export_user_data" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_small" - android:text="@string/user_data_export" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/button_import_user_data" - app:layout_constraintBottom_toBottomOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> + <androidx.core.widget.NestedScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="20dp" + android:paddingLeft="16dp" + android:paddingRight="16dp"> + + <TextView + android:id="@+id/text_type" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/spacing_medlarge" + app:layout_constraintBottom_toTopOf="@id/text_path" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="parent" + app:layout_constraintVertical_chainStyle="packed" + tools:text="@string/user_data_new_location" /> + + <TextView + android:id="@+id/text_path" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacing_medlarge" + android:layout_marginBottom="@dimen/spacing_medlarge" + tools:text="/storage/emulated/0/Android/data/org.dolphinemu.dolphinemu/files" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/text_type" + app:layout_constraintBottom_toTopOf="@id/text_android_11" /> + + <TextView + android:id="@+id/text_android_11" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/spacing_medlarge" + android:layout_marginBottom="@dimen/spacing_medlarge" + android:text="@string/user_data_new_location_android_11" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/text_path" + app:layout_constraintBottom_toTopOf="@id/button_open_system_file_manager" /> + + <Button + android:id="@+id/button_open_system_file_manager" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + android:text="@string/user_data_open_system_file_manager" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/text_android_11" + app:layout_constraintBottom_toTopOf="@id/button_import_user_data" /> + + <Button + android:id="@+id/button_import_user_data" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + android:text="@string/user_data_import" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/button_open_system_file_manager" + app:layout_constraintBottom_toTopOf="@id/button_export_user_data" /> + + <Button + android:id="@+id/button_export_user_data" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + android:text="@string/user_data_export" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/button_import_user_data" + app:layout_constraintBottom_toBottomOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + </androidx.core.widget.NestedScrollView> + +</androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 3ef0f39d58..c54a2ead03 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -543,6 +543,7 @@ It can efficiently compress both junk data and encrypted Wii data. </string> <!-- Riivolution Boot Screen --> + <string name="riivolution_riivolution">Riivolution</string> <string name="riivolution_sd_root">SD Root: %1$s</string> <string name="riivolution_disabled">Disabled</string> <string name="riivolution_start">Start</string> |
