新增漫画阅读模式[条漫、日漫等]

新增条漫侧边留白功能
更新滤镜功能,现在支持亮度跟随系统
其他界面更新
This commit is contained in:
HapeLee committed 2025-07-21 03:25:18 +08:00
1 parent c35177715c
commit 1701285d33
24 files changed
+585 -277

No files matched your search

+8 -7
View File
@@ -8,7 +8,8 @@
<io.legato.kazusa.ui.book.manga.recyclerview.WebtoonFrame
android:id="@+id/webtoon_frame"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:background="@color/black">
<io.legato.kazusa.ui.book.manga.recyclerview.WebtoonRecyclerView
android:id="@+id/recycler_view"
@@ -48,20 +49,19 @@
android:gravity="center"
android:orientation="vertical">
<ProgressBar
<com.google.android.material.progressindicator.CircularProgressIndicator
style="@style/Widget.Material3.CircularProgressIndicator.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
app:indicatorSize="36dp"
app:trackCornerRadius="99dp"
app:trackThickness="3dp" />
app:indicatorSize="40dp" />
<TextView
android:id="@+id/tv_loading_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginTop="8dp"
android:textColor="?attr/colorSurface"
android:text="@string/loading" />
</LinearLayout>
@@ -78,10 +78,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<io.legato.kazusa.ui.widget.text.AccentTextView
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_margin="16dp"
android:text="重新加载"
android:textSize="18sp"
@@ -48,8 +48,8 @@
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/footer"
android:textStyle="bold"
android:textSize="14sp" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
@@ -165,35 +165,10 @@
android:text="2.1%" />
</com.google.android.material.chip.ChipGroup>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.chip.Chip
android:id="@+id/chip_autoPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/enable_auto_page_scroll" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<io.legato.kazusa.ui.widget.SimpleCounterView
android:id="@+id/scv_autoPageSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:max="100"
app:title="翻页速度" />
</LinearLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_color_filter"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
style="@style/Widget.Material3.Button.TonalButton"
app:icon="@drawable/ic_filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/manga_color_filter" />
@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingVertical="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:background="@drawable/bg_bottom_sheet_handle" />
<TextView
android:id="@+id/bottom_sheet_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="漫画设置"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp"
android:text="阅读模式"
android:textStyle="bold" />
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroupScrollMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:singleLine="false"
app:chipSpacingVertical="0dp"
app:selectionRequired="true"
app:singleSelection="true" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp"
android:text="自动阅读"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.chip.Chip
android:id="@+id/chip_autoPage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/enable_auto_page_scroll" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<io.legato.kazusa.ui.widget.SimpleCounterView
android:id="@+id/scv_autoPageSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:max="100"
app:min="1"
app:title="翻页速度" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_webtoon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp"
android:text="条漫"
android:textStyle="bold" />
<io.legato.kazusa.ui.widget.DetailSeekBar
android:id="@+id/scv_Padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:max="30"
app:title="侧边留白" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="12dp">
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxDisableClickScroll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/disable_manga_click_scroll" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxDisableMangaScale"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/disable_manga_scale" />
</LinearLayout>
</LinearLayout>
@@ -1,16 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="96dp"
android:layout_height="wrap_content"
android:background="@color/book_ant_10">
<TextView
android:id="@+id/text"
<LinearLayout
android:id="@+id/ll_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:text="上一章节:第一话" />
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:padding="32dp">
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:autoSizeTextType="uniform"
android:text="已读完"
android:textColor="?attr/colorSurface"
android:textStyle="bold" />
<TextView
android:id="@+id/textChapter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoSizeTextType="uniform"
android:text="下一章123"
android:textColor="?attr/colorSurface"
android:textSize="22sp"
android:textStyle="bold" />
</LinearLayout>
</FrameLayout>
@@ -21,33 +21,32 @@
android:layout_height="match_parent"
android:background="@color/book_ant_10">
<ProgressBar
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/loading"
style="@style/Widget.Material3.CircularProgressIndicator.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.CircularProgressIndicator"
android:layout_gravity="center"
android:indeterminate="true"
android:indeterminateTint="@color/white"
android:progressTint="@color/white"
app:indicatorColor="@color/white"
app:indicatorSize="36dp"
app:trackCornerRadius="99dp"
app:trackThickness="3dp" />
app:indicatorSize="64dp" />
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/retry"
style="@style/Widget.Material3.Button.TonalButton"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="8dp"
android:text="重新加载"
android:textColor="@color/white"
android:textSize="18sp"
android:textColor="?attr/colorSurfaceVariant"
app:backgroundTint="?attr/colorOnSurface"
app:cornerRadius="12dp"
app:icon="@drawable/ic_refresh"
app:iconSize="24sp"
app:iconTint="?attr/colorSurfaceVariant"
android:visibility="gone"
app:backgroundTint="@color/white"
app:cornerRadius="10dp"
tools:visibility="visible" />
<TextView
@@ -56,9 +55,10 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="0%"
android:textColor="@color/white"
android:textColor="?attr/colorSurfaceVariant"
android:visibility="gone"
tools:visibility="visible" />
</FrameLayout>
</FrameLayout>
@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginVertical="4dp"
android:layout_marginVertical="8dp"
android:orientation="vertical">
<LinearLayout
@@ -12,6 +11,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingHorizontal="16dp"
android:paddingTop="8dp"
android:paddingBottom="4dp">
@@ -19,10 +19,9 @@
android:id="@+id/tv_seek_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:singleLine="true"
android:text="seek"
tools:ignore="HardcodedText" />
android:textStyle="bold" />
<View
android:layout_width="0dp"
@@ -32,7 +31,6 @@
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
app:strokeWidth="0dp"
app:cardBackgroundColor="?attr/colorSurfaceVariant">
<TextView
@@ -47,35 +45,10 @@
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
<com.google.android.material.slider.Slider
android:id="@+id/slider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_seek_reduce"
android:layout_width="48dp"
android:layout_height="48dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:contentDescription="@string/reduce"
app:icon="@drawable/ic_reduce" />
<io.legato.kazusa.lib.theme.view.ThemeSlider
android:id="@+id/slider"
android:layout_width="0dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
app:labelBehavior="gone"
android:layout_weight="4"
android:stepSize="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_seek_plus"
android:layout_width="48dp"
android:layout_height="48dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:contentDescription="@string/plus"
app:icon="@drawable/ic_add" />
</LinearLayout>
android:stepSize="1" />
</LinearLayout>