This commit is contained in:
HapeLee committed 2025-06-08 02:08:15 +08:00
1 parent 55ac1f6070
commit 8325a17864
13 files changed
+384 -157

No files matched your search

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="8dp" />
</shape>
+121
View File
@@ -0,0 +1,121 @@
<?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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:orientation="vertical"
android:gravity="center_horizontal">
<!-- 四色预览框 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardView"
android:layout_width="112dp"
android:layout_height="200dp"
android:layout_marginBottom="8dp"
app:cardCornerRadius="20dp"
app:cardBackgroundColor="#000000"
android:checkable="true"
app:strokeWidth="4dp"
android:clickable="true"
android:focusable="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 一号:左上角 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/cv_title"
android:layout_width="64dp"
android:layout_height="16dp"
android:layout_margin="12dp"
app:strokeWidth="0dp"
app:cardCornerRadius="8dp"
app:cardBackgroundColor="#FF0000"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.card.MaterialCardView
android:id="@+id/cv_book"
android:layout_width="56dp"
android:layout_height="80dp"
android:layout_marginTop="8dp"
app:strokeWidth="0dp"
app:cardCornerRadius="8dp"
app:cardBackgroundColor="#FFFF00"
app:layout_constraintTop_toBottomOf="@id/cv_title"
app:layout_constraintStart_toStartOf="@id/cv_title" />
<!-- 三号:在二号内部的右上角 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/cv_pin"
android:layout_width="20dp"
android:layout_height="12dp"
android:layout_margin="4dp"
app:strokeWidth="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="#0000FF"
app:layout_constraintTop_toTopOf="@id/cv_book"
app:layout_constraintEnd_toEndOf="@id/cv_book" />
<!-- 四号:最下方 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/cv_bottom"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_margin="4dp"
app:strokeWidth="0dp"
app:cardCornerRadius="0dp"
app:cardBackgroundColor="#FFFF00"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" >
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.card.MaterialCardView
android:id="@+id/left_circle"
android:layout_width="20dp"
android:layout_height="20dp"
app:cardCornerRadius="24dp"
app:cardBackgroundColor="#000000"
app:strokeWidth="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginStart="8dp"/>
<com.google.android.material.card.MaterialCardView
android:id="@+id/right_rect"
android:layout_width="62dp"
android:layout_height="16dp"
app:cardCornerRadius="8dp"
app:cardBackgroundColor="#000000"
app:strokeWidth="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginEnd="8dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
<!-- 主题名称 -->
<TextView
android:id="@+id/themeLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="主题名"
android:textSize="14sp" />
</LinearLayout>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingVertical="8dp">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:orientation="vertical" />
</LinearLayout>
@@ -12,6 +12,8 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_system"
style="@style/Widget.Material3.Button.OutlinedButton"
app:checkedIcon="@drawable/ic_check"
android:checkable="true"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
@@ -20,6 +22,8 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_light"
style="@style/Widget.Material3.Button.OutlinedButton"
app:checkedIcon="@drawable/ic_check"
android:checkable="true"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
@@ -28,6 +32,8 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dark"
style="@style/Widget.Material3.Button.OutlinedButton"
app:checkedIcon="@drawable/ic_check"
android:checkable="true"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
+7 -7
View File
@@ -67,12 +67,12 @@
<string name="book_local">添加本地</string>
<string name="book_source">书源</string>
<string name="book_source_manage">书源管理</string>
<string name="book_source_manage_desc">新建、导入、编辑或管理书源</string>
<string name="book_source_manage_desc">新建 • 导入 • 编辑或管理书源</string>
<string name="setting">设置</string>
<string name="theme_setting">主题设置</string>
<string name="theme_setting_s">与界面/颜色相关的一些设置</string>
<string name="other_setting">其它设置</string>
<string name="other_setting_s">与功能相关的一些设置</string>
<string name="theme_setting">外观</string>
<string name="theme_setting_s">主题 • 深色模式 • 界面设置</string>
<string name="other_setting">高级</string>
<string name="other_setting_s">语言 • 其他设置</string>
<string name="about">关于</string>
<string name="donate">捐赠</string>
<string name="exit">退出</string>
@@ -111,7 +111,7 @@
<string name="ps_auto_download">更新书籍时自动下载最新章节</string>
<string name="backup_restore">备份与恢复</string>
<string name="web_dav_set">WebDav 设置</string>
<string name="web_dav_set_import_old">WebDav 设置/导入旧版本数据</string>
<string name="web_dav_set_import_old">WebDav 设置 • 导入旧版本数据</string>
<string name="backup">备份</string>
<string name="restore">恢复</string>
<string name="backup_permission">备份请给予存储权限</string>
@@ -590,7 +590,7 @@
<string name="add_replace_rule">新建替换</string>
<string name="group">分组</string>
<string name="group_s">分组:%s</string>
<string name="toc_s">目录:%s</string>
<string name="toc_s">已读:%s</string>
<string name="enable_explore">启用发现</string>
<string name="disable_explore">禁用发现</string>
<string name="enable_selection">启用所选</string>
+2 -1
View File
@@ -235,4 +235,5 @@
<enum name="right_bottom_fill" value="7" />
</attr>
</declare-styleable>
</resources>
</resources>
+57 -114
View File
@@ -2,59 +2,68 @@
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<io.legato.kazusa.lib.prefs.ThemeModePreference
android:defaultValue="0"
android:entries="@array/theme_mode"
android:entryValues="@array/theme_mode_v"
android:key="themeMode"
android:title="@string/theme_mode"
android:summary="切换浅色/深色/跟随系统" />
<io.legato.kazusa.lib.prefs.NameListPreference
android:key="app_theme"
android:title="应用主题"
android:summary="喵喵喵"
android:entries="@array/themes_item"
android:entryValues="@array/themes_value"
android:defaultValue="0" />
<io.legato.kazusa.lib.prefs.IconListPreference
android:defaultValue="ic_launcher"
android:entries="@array/icon_names"
android:entryValues="@array/icons"
android:key="launcherIcon"
android:summary="@string/change_icon_summary"
android:title="@string/change_icon"
<io.legato.kazusa.lib.prefs.PreferenceCategory
android:key="themeCategory"
android:title="@string/theme"
app:allowDividerAbove="true"
app:allowDividerBelow="false"
app:iconSpaceReserved="false"
app:icons="@array/icons" />
app:layout="@layout/view_preference_category">
<io.legato.kazusa.lib.prefs.Preference
android:key="welcomeStyle"
android:title="@string/welcome_style"
android:summary="@string/welcome_style_summary" />
<io.legato.kazusa.lib.prefs.ThemeModePreference
android:defaultValue="0"
android:entries="@array/theme_mode"
android:entryValues="@array/theme_mode_v"
android:key="themeMode"
android:title="@string/theme_mode"
android:summary="切换浅色/深色/跟随系统" />
<io.legato.kazusa.lib.prefs.Preference
android:key="fontScale"
android:summary="@string/font_scale_summary"
android:title="@string/font_scale"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ThemeCardPreference
android:key="app_theme"
android:title="应用主题"
android:summary="喵喵喵"
android:entries="@array/themes_item"
android:entryValues="@array/themes_value"
android:defaultValue="0" />
<io.legato.kazusa.lib.prefs.Preference
android:key="coverConfig"
android:title="@string/cover_config"
android:summary="@string/cover_config_summary"
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.IconListPreference
android:defaultValue="ic_launcher"
android:entries="@array/icon_names"
android:entryValues="@array/icons"
android:key="launcherIcon"
android:summary="@string/change_icon_summary"
android:title="@string/change_icon"
app:iconSpaceReserved="false"
app:icons="@array/icons" />
<io.legato.kazusa.lib.prefs.Preference
android:key="themeList"
android:summary="@string/theme_list_summary"
android:title="@string/theme_list"
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:key="welcomeStyle"
android:title="@string/welcome_style"
android:summary="@string/welcome_style_summary" />
<io.legato.kazusa.lib.prefs.Preference
android:key="fontScale"
android:summary="@string/font_scale_summary"
android:title="@string/font_scale"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:key="coverConfig"
android:title="@string/cover_config"
android:summary="@string/cover_config_summary"
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:key="themeList"
android:summary="@string/theme_list_summary"
android:title="@string/theme_list"
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false" />
</io.legato.kazusa.lib.prefs.PreferenceCategory>
<io.legato.kazusa.lib.prefs.PreferenceCategory
android:key="dayThemeCategory"
@@ -64,40 +73,6 @@
app:iconSpaceReserved="false"
app:layout="@layout/view_preference_category">
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_brown_500"
android:key="colorPrimary"
android:summary="@string/day_color_primary"
android:title="@string/primary"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_red_600"
android:key="colorAccent"
android:summary="@string/day_color_accent"
android:title="@string/accent"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_grey_100"
android:key="colorBackground"
android:summary="@string/day_background_color"
android:title="@string/background_color"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_grey_200"
android:key="colorBottomBackground"
android:summary="@string/day_navbar_color"
android:title="@string/navbar_color"
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:key="backgroundImage"
android:title="@string/background_image" />
@@ -120,38 +95,6 @@
app:iconSpaceReserved="false"
app:layout="@layout/view_preference_category">
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_blue_grey_600"
android:key="colorPrimaryNight"
android:summary="@string/night_primary"
android:title="@string/primary"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_deep_orange_800"
android:key="colorAccentNight"
android:summary="@string/night_accent"
android:title="@string/accent"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_grey_900"
android:key="colorBackgroundNight"
android:summary="@string/night_background_color"
android:title="@string/background_color"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.ColorPreference
android:defaultValue="@color/md_grey_850"
android:key="colorBottomBackgroundNight"
android:summary="@string/night_navbar_color"
android:title="@string/navbar_color"
app:cpv_dialogType="preset"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:key="backgroundImageNight"
android:title="@string/background_image" />
+32 -22
View File
@@ -11,27 +11,6 @@
android:title="@string/book_source_manage"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_cfg_txt"
android:key="txtTocRuleManage"
android:summary="@string/config_txt_toc_rule"
android:title="@string/txt_toc_rule"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_cfg_replace"
android:key="replaceManage"
android:summary="@string/replace_purify_desc"
android:title="@string/replace_purify"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_translate"
android:key="dictRuleManage"
android:summary="@string/config_dict_rule"
android:title="@string/dict_rule"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.SwitchPreference
android:defaultValue="false"
android:icon="@drawable/ic_cfg_web"
@@ -45,7 +24,8 @@
android:title="@string/setting"
app:allowDividerAbove="true"
app:allowDividerBelow="false"
app:iconSpaceReserved="false">
app:iconSpaceReserved="false"
app:layout="@layout/view_preference_category">
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_cfg_backup"
@@ -71,6 +51,36 @@
</io.legato.kazusa.lib.prefs.PreferenceCategory>
<io.legato.kazusa.lib.prefs.PreferenceCategory
android:title="规则"
app:allowDividerAbove="true"
app:allowDividerBelow="false"
app:iconSpaceReserved="false"
app:layout="@layout/view_preference_category">
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_cfg_txt"
android:key="txtTocRuleManage"
android:summary="@string/config_txt_toc_rule"
android:title="@string/txt_toc_rule"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_cfg_replace"
android:key="replaceManage"
android:summary="@string/replace_purify_desc"
android:title="@string/replace_purify"
app:iconSpaceReserved="false" />
<io.legato.kazusa.lib.prefs.Preference
android:icon="@drawable/ic_translate"
android:key="dictRuleManage"
android:summary="@string/config_dict_rule"
android:title="@string/dict_rule"
app:iconSpaceReserved="false" />
</io.legato.kazusa.lib.prefs.PreferenceCategory>
<io.legato.kazusa.lib.prefs.PreferenceCategory
android:key="aboutCategory"
android:title="@string/other"