工具栏自定义与优化 #242、#243

This commit is contained in:
HapeLee committed 2025-11-08 02:05:02 +08:00
1 parent b2808c286c
commit 858ba70c09
20 files changed
+312 -116

No files matched your search

+1 -1
View File
@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="8dp" />
<corners android:radius="16dp" />
</shape>
@@ -19,6 +19,8 @@
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:isNavigationBackground="no"
style="@style/NoBackgroundNavi"
android:background="?attr/colorSurfaceContainer"
app:layout_constraintTop_toTopOf="parent">
@@ -64,10 +66,9 @@
android:text="@string/book_source" />
</LinearLayout>
</LinearLayout>
</io.legado.app.ui.widget.TitleBar>
<LinearLayout
+97 -59
View File
@@ -93,6 +93,14 @@
android:text="分段模式"
style="@style/Widget.Material3Expressive.Button.TonalButton"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/textFontWeightConverter"
style="@style/Widget.Material3Expressive.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/font_weight_text"
android:minWidth="0dp" />
</com.google.android.material.button.MaterialButtonGroup>
<LinearLayout
@@ -101,7 +109,7 @@
<io.legado.app.ui.widget.SimpleCounterView
android:id="@+id/dsb_title_seg_scaling"
android:layout_width="120dp"
android:layout_width="108dp"
android:layout_height="wrap_content"
app:max="20"
app:title="次行缩放(未完成)" />
@@ -111,49 +119,27 @@
android:layout_height="match_parent"
android:layout_weight="1"/>
<io.legado.app.ui.widget.SimpleCounterView
android:id="@+id/dsb_title_size"
android:layout_width="108dp"
android:layout_height="wrap_content"
app:max="20"
app:title="@string/title_font_size" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<io.legado.app.ui.widget.SimpleCounterView
android:id="@+id/dsb_title_line_spacing_extra"
android:layout_width="120dp"
android:layout_width="108dp"
android:layout_height="wrap_content"
app:max="20"
app:title="标题段距" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_font_weight_converter"
android:textSize="12sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.button.MaterialButton
android:id="@+id/textFontWeightConverter"
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="0dp"
android:textSize="12sp" />
<com.google.android.material.slider.Slider
android:id="@+id/sliderFontWeight"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<io.legado.app.ui.widget.DetailSeekBar
android:id="@+id/dsb_title_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:max="20"
app:title="@string/title_font_size" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -180,29 +166,31 @@
</LinearLayout>
<TextView
android:id="@+id/tv_header_padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:text="@string/header"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/ll_header_show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="4dp"
android:gravity="center_vertical"
android:orientation="vertical"
android:orientation="horizontal"
tools:ignore="RtlHardcoded,RtlSymmetry">
<TextView
android:id="@+id/tv_header_padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/header"
android:textSize="16sp"
android:textStyle="bold" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<com.google.android.material.chip.ChipGroup
android:id="@+id/chip_header_mode"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
app:selectionRequired="true"
@@ -279,26 +267,30 @@
</LinearLayout>
<io.legado.app.ui.widget.text.AccentTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:text="@string/footer"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/ll_footer_show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="4dp"
android:gravity="center_vertical"
android:orientation="vertical"
android:orientation="horizontal"
tools:ignore="RtlHardcoded,RtlSymmetry">
<io.legado.app.ui.widget.text.AccentTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/footer"
android:textSize="16sp"
android:textStyle="bold" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<com.google.android.material.chip.ChipGroup
android:id="@+id/chip_footer_mode"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:selectionRequired="true"
app:singleSelection="true" />
@@ -428,6 +420,52 @@
</LinearLayout>
<io.legado.app.ui.widget.AccentColorButton
android:id="@+id/abtnBackgroundColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
android:text="@string/background_color" />
<io.legado.app.ui.widget.AccentColorButton
android:id="@+id/abtnAccentColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
android:text="@string/accent" />
<com.google.android.material.chip.ChipGroup
android:id="@+id/bottom_mode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:singleLine="true"
app:singleSelection="true"
app:selectionRequired="true">
<com.google.android.material.chip.Chip
android:id="@+id/bottom_mode1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="true"
android:text="@string/flow_sys" />
<com.google.android.material.chip.Chip
android:id="@+id/bottom_mode2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="true"
android:text="跟随阅读背景" />
<com.google.android.material.chip.Chip
android:id="@+id/bottom_mode3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="true"
android:text="@string/custom" />
</com.google.android.material.chip.ChipGroup>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
+3 -1
View File
@@ -19,6 +19,7 @@
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:isNavigationBackground="no"
android:background="?attr/colorSurfaceContainer"
app:layout_constraintTop_toTopOf="parent">
@@ -32,6 +33,7 @@
android:id="@+id/tv_book_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
style="@style/TextAppearance.Material3.TitleLarge"
android:singleLine="true" />
@@ -63,7 +65,7 @@
android:maxLines="1"
android:ellipsize="end"
android:gravity="end"
android:paddingVertical="8dp"
android:paddingBottom="8dp"
android:text="@string/book_source" />
</LinearLayout>
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.MaterialToolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
<com.google.android.material.appbar.MaterialToolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
+1 -1
View File
@@ -1158,7 +1158,7 @@
<string name="create_heap_dump">创建堆转储</string>
<string name="record_heap_dump_s">当应用发生OOM崩溃时保存堆转储</string>
<string name="record_heap_dump_t">记录堆转储</string>
<string name="font_weight_text">中/粗/细</string>
<string name="font_weight_text">字重</string>
<string name="keep_swipe_tip">继续滑动以加载下一章…</string>
<string name="enable_optimize_render">启用绘制优化</string>
<string name="ignore_battery_permission_rationale">阅读需要请求后台权限以保持服务正常运行</string>
+1 -1
View File
@@ -1160,7 +1160,7 @@
<string name="create_heap_dump">创建堆转储</string>
<string name="record_heap_dump_s">当应用发生OOM崩溃时保存堆转储</string>
<string name="record_heap_dump_t">记录堆转储</string>
<string name="font_weight_text">中/粗/细</string>
<string name="font_weight_text">字重</string>
<string name="keep_swipe_tip">继续滑动以加载下一章…</string>
<string name="enable_optimize_render">启用绘制优化</string>
<string name="ignore_battery_permission_rationale">阅读需要请求后台权限以保持服务正常运行</string>
+2 -1
View File
@@ -1165,7 +1165,7 @@
<string name="create_heap_dump">创建堆转储</string>
<string name="record_heap_dump_s">当应用发生OOM崩溃时保存堆转储</string>
<string name="record_heap_dump_t">记录堆转储</string>
<string name="font_weight_text">中/粗/细</string>
<string name="font_weight_text">字重</string>
<string name="keep_swipe_tip">继续滑动以加载下一章…</string>
<string name="enable_optimize_render">启用绘制优化</string>
<string name="ignore_battery_permission_rationale">阅读需要请求后台权限以保持服务正常运行,拒绝后不再弹出。如有需要可至高级设置中再次申请。</string>
@@ -1330,4 +1330,5 @@
<string name="cancel_select">取消选择</string>
<string name="coll_volume">折叠所有卷</string>
<string name="expand_volume">展开所有卷</string>
<string name="custom">自定义</string>
</resources>
+4 -1
View File
@@ -30,7 +30,10 @@
<attr name="fitNavigationBar" format="boolean" />
<attr name="navigationContentDescription" format="reference|string" />
<attr name="navigationIconTint" format="color|reference" />
<attr name="themeMode" />
<attr name="isNavigationBackground" format="enum">
<enum name="no" value="1" />
<enum name="yes" value="0" />
</attr>
<attr name="navigationIconTintMode" format="enum">
<enum name="clear" value="0" />
<enum name="src" value="1" />
+1
View File
@@ -1331,4 +1331,5 @@
<string name="cancel_select">取消选择</string>
<string name="coll_volume">折叠所有卷</string>
<string name="expand_volume">展开所有卷</string>
<string name="custom">自定义</string>
</resources>
+4
View File
@@ -37,6 +37,10 @@
<item name="chipStrokeColor">@color/chip_stroke_selector</item>
</style>
<style name="NoBackgroundNavi" parent="ThemeOverlay.Material3.Toolbar.CircleNavigationButton">
<item name="toolbarNavigationButtonCircleColor">@color/transparent</item>
</style>
<style name="TextActionMenuAnimation">
<item name="android:windowEnterAnimation">@anim/popup_enter</item>
<item name="android:windowExitAnimation">@anim/popup_exit</item>
@@ -201,10 +201,6 @@
android:key="showReadTitleAddition"
android:title="@string/show_read_title_addition" />
<io.legado.app.lib.prefs.SwitchPreference
android:defaultValue="false"
android:key="readBarStyleFollowPage"
android:title="@string/read_bar_style_follow_page" />
</io.legado.app.lib.prefs.PreferenceCategory>
</androidx.preference.PreferenceScreen>