Viewer navigation (#3869)

* Viewer navigation

Co-authored-by: Harsh Parekh <h.x.dev@outlook.com>

* Match current reader behavior and add ability to invert it

* A bit of clean up

* Clean up inversion

* Only create navigator when changed

and change tap zone when invertTapping is changed

* Clean up PagerConfig

* Change how Viewer navigation works

* Add Edge Navigation

Co-authored-by: Harsh Parekh <h.x.dev@outlook.com>
This commit is contained in:
Andreas E
2021-01-02 00:41:20 +01:00
committed by GitHub
parent 71ece73d99
commit d69e9034ab
19 changed files with 350 additions and 58 deletions

View File

@@ -203,6 +203,25 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/end_navigation_preferences" />
<TextView
android:id="@+id/pager_nav_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/pref_viewer_nav"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/verticalcenter"
app:layout_constraintBaseline_toBaselineOf="@id/pager_nav"/>
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/pager_nav"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:entries="@array/pager_nav"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/pager_prefs"
app:layout_constraintStart_toEndOf="@id/verticalcenter"
app:layout_constraintEnd_toEndOf="@id/spinner_end" />
<TextView
android:id="@+id/scale_type_text"
android:layout_width="0dp"
@@ -220,7 +239,7 @@
android:entries="@array/image_scale_type"
app:layout_constraintEnd_toEndOf="@id/spinner_end"
app:layout_constraintStart_toEndOf="@id/verticalcenter"
app:layout_constraintTop_toBottomOf="@id/pager_prefs" />
app:layout_constraintTop_toBottomOf="@+id/pager_nav" />
<TextView
android:id="@+id/zoom_start_text"
@@ -326,6 +345,26 @@
app:layout_constraintRight_toRightOf="@id/spinner_end"
app:layout_constraintTop_toBottomOf="@id/webtoon_prefs" />
<TextView
android:id="@+id/webtoon_nav_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/pref_viewer_nav"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/verticalcenter"
app:layout_constraintBaseline_toBaselineOf="@id/webtoon_nav"/>
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/webtoon_nav"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:entries="@array/webtoon_nav"
app:layout_constraintEnd_toEndOf="@id/spinner_end"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@id/verticalcenter"
app:layout_constraintTop_toBottomOf="@+id/webtoon_side_padding" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/crop_borders_webtoon"
android:layout_width="match_parent"
@@ -333,7 +372,7 @@
android:layout_marginTop="10dp"
android:text="@string/pref_crop_borders"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintTop_toBottomOf="@id/webtoon_side_padding" />
app:layout_constraintTop_toBottomOf="@+id/webtoon_nav" />
<!-- Groups of preferences -->
@@ -342,7 +381,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="pager_prefs,scale_type_text,scale_type,zoom_start_text,zoom_start,crop_borders"
app:constraint_referenced_ids="pager_prefs,pager_nav_text,pager_nav,scale_type_text,scale_type,zoom_start_text,zoom_start,crop_borders"
tools:visibility="visible" />
<androidx.constraintlayout.widget.Group
@@ -350,7 +389,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="webtoon_prefs,crop_borders_webtoon,webtoon_side_padding_text,webtoon_side_padding" />
app:constraint_referenced_ids="webtoon_prefs,webtoon_nav_text,webtoon_nav,crop_borders_webtoon,webtoon_side_padding_text,webtoon_side_padding" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/verticalcenter"