Kudomaga 4c088448c3 feat(reader): 船新的基于 Compose 实现的阅读菜单界面与各项优化
* 初始版本

* refactor(reader): MVI architecture + menu settings overhaul

MVI/UDF Architecture:
- Add ReadBookContract: UiState, Intent, Effect, Sheet, Dialog, ConfigUpdate
- Refactor ReadBookViewModel with onIntent() entry point
- Add ReadBookScreen/ReadBookRouteScreen stateless composables
- Add ReadBookColorTheme for reader-specific theme override
- Add ReadConfigContract for read config screen MVI

ReadStyleSheet Decomposition:
- Split ReadStyleSheet into SystemMenuPage, TextTitleSheet,
  HeaderFooterPage, TitleBarIconSheet, GlobalThemePage
- Each page owns its tab state, color picker, and config mutations

Data Layer (DataStore-backed Repositories):
- Add ReadSettingsRepository with ReadPreferences flow
- Add MangaSettingsRepository with MangaPreferences flow
- Add ReadAloudSettingsRepository for TTS settings
- Add ReadStyleRepository (file I/O for read style configs)
- Add ReadBookStyleConfigRepository (repository boundary)
- Add ReadStyleResolver for background/theme resolution
- Remove legacy ReadTipConfig (merged into ReadBookConfig)
- Register all new repositories in Koin appModule

Menu Settings:
- Add unified border settings (width, color, colorNight) for
  both top and bottom bars with drawWithCache + drawPath
- Add ColorModePill with light/dark toggle and '+' icon for
  no-color state in TinySettingItems
- Add TinyClearColorModeSettingItem for border color config
- Add menu color customization (bg, accent, container) with
  day/night variants and seed color mode
- Add bottom bar layout settings (corner radius, margins)
- Add custom icon support for menu buttons and title bar icons
- Add title bar icon position setting

Config Pipeline:
- Consolidate all ReadBookConfig mutations into typed ConfigUpdate
  sealed interface with legacy UP_CONFIG code mapping
- Add resolvedMenuBorderColor (auto day/night switching)
- Add 20 new PreferKey constants for menu settings
- Update manga config dialogs to use MangaSettingsRepository
- Update ReadConfigViewModel with DataStore flow observation

* feat(reader): add liquid glass menu bars and floating bottom bar

- Integrate com.kyant.backdrop 2.0.0 for liquid glass blur/vibrancy
  effects on reading menu top bar and bottom bar (Android 13+)
- Add floating bottom bar toggle replacing manual margin sliders
- Extract ReadMenuConfig data class for proper MVI state management
  of all menu configuration properties
- Enable edge-to-edge in BaseComposeActivity, remove manual
  navigation bar color management across base classes and controller
- Fix fullScreen() to use setDecorFitsSystemWindows(false)

* Refactor series button rendering

* 实现液态玻璃

* 优化液态玻璃

* @
fix(reader): fix MVI behavior issues and improve sheet lifecycle

Behavior fixes:
- Fix AddSourceAsNewBook empty implementation — wire intent to addToBookshelf
- Fix content edit loading stuck on null chapter/content — use onFinally
- Fix cannot save empty content — remove isEmpty guard, use title as loaded proxy
- Fix bookmark not opening — use openReadMenuRoute instead of dead activeSheet path
- Fix chapter source sheet persists — animate dismiss via show param before removal
- Fix chapter source reopens to TOC — reset showToc in initData
- Fix SaveChapterContent saves to wrong chapter — carry chapterIndex in intent
- Fix chapter source search runs after dismiss — cancel searchJob in dispose
- Fix "go to background" button in ReadAloud — use CloseReadBook intent

Architecture improvements:
- ReadMenuConfig uses ImmutableMap for Compose stability
- Fix stale remember in ReadBookMenuBar title bar icons
- Move icon picker file IO from composable to ViewModel
- Route launcher results through MVI intents instead of direct calls
- Fix ChangeChapterSource effect collector key — use viewModel not Unit
- Make ReadAloudConfigSheet UDF-compliant — stateless with intents
- Remove main menu buttons from AutoRead and ReadAloud sheets
@

* @
refactor(reader): use Material Icons and ConfirmDismissButtonsRow

- TitleBarIconSheet: replace drawable resources with Icons library, use
  ConfirmDismissButtonsRow for save/cancel buttons
- SystemMenuPage MenuCustomIconSheet: same icon and button treatment
- ReadBookMenuBar: update ToolButtonDef/TitleBarIconDef to use ImageVector
  instead of drawable resource Int
- Use AutoMirrored variants for List and HelpOutline icons
@

* feat: 优化液态玻璃

* feat: 优化液态玻璃

* fix(AppLogSheet): 从本地文件读取日志,替代内存列表

* @
feat(reader): highlight rules, theme refactor & MVI improvements

- Add HighlightRule entity, DAO, and config/edit sheets
- Add ThemeConfigStore, remove OldThemeConfig
- Refactor ReadBookContract/ViewModel/Screen for deeper MVI
- Add CharStyle for text rendering, refactor TextLine/TextChapterLayout
- Add SectionTitle, TinySettingItems UI components
- Remove legacy XML layouts (regex_color_config)
- Update database schema to v90
- Various sheet and widget refinements
@

* @
fix: address PR review feedback

- ReadStyleRepository: fix copy-paste bug (bgStrNight→bgStr) + add bgTypeNight import
- BgImageSpan: replace Bitmap.createScaledBitmap with BitmapShader matrix scaling
- HighlightRule: use UUID.randomUUID() instead of System.currentTimeMillis()
- ChangeSourceSearchUseCase: guard against empty chapters list
@

* @fix: remove residual regexColorRules references after merge

- ChangeSourceSearchUseCase: adapt filter lambda to new 3-param signature
- TextChapterLayout: remove globalRegexResult field, preApplyRegexColorRules
  call, and the entire regexColorRules fullTextBuilder block
@

* fix: 图标间距
2026-06-07 18:28:33 +08:00
2026-05-01 12:26:35 +08:00
2026-05-14 15:37:26 +08:00
2022-01-03 23:59:44 +08:00
2022-01-28 18:32:04 +08:00
2026-05-13 21:22:44 +08:00
2022-10-02 06:52:36 +08:00
2026-03-11 00:22:06 +08:00
2025-10-27 19:46:41 +08:00
2025-10-27 19:46:41 +08:00
2023-05-03 09:40:27 +08:00

Legado with MD3

简体中文 English

📖 介绍

Legado with MD3 是基于开源项目 阅读 (Legado) 开发的 Material Design 3 风格重构版本。

本项目在对 UI 进行重绘的基础上,加入了多项分支独有功能,并正在逐步从传统 View 迁移至 Jetpack Compose 框架,目标是提供更加现代、流畅且一致的阅读体验。

Caution

注意事项: 由于使用 Monet 引擎重构了主题系统,官方版本的主题在此版本中不再可用。

Android 12 以下设备: 暂时无法使用自定义主题与动态取色功能。此限制将在 Jetpack Compose 迁移完成后得到解决(由于开发者精力有限,迁移过程将持续较长时间)。


分支特性

相比于官方版本,本项目具有以下独有特性:

  • 全新主题: 全新 Material Design 3 设计界面,支持 预测性返回手势共享元素动画
  • 阅读界面: 更加个性化的阅读界面与菜单配置。
  • 阅读记录: 提供详尽的阅读记录,支持 时间轴章节维度 统计。
  • 体验增强: 更健全的 漫画阅读有声书发现 等界面体验。
  • 书架布局: 更多的书架布局选择,针对 平板端 进行了专门的界面优化。
  • 实用功能: 新增书籍备注、智能伴生分组(自动归类已读/未读),支持手柄上下翻页

🛠️ 核心功能

  1. 多格式支持: 支持本地 TXT、EPUB 阅读,智能扫描本地文件。
  2. 高度自定义: 切换字体、背景、行距、段距、加粗、简繁转换等。
  3. 净化替换: 强力去除广告,替换正文内容。
  4. 翻页模式: 覆盖、仿真、滑动、滚动等多种模式随心切换。
  5. 完全开源: 无广告,持续迭代优化。

❤️ 致谢

感谢以下优秀开源项目提供的灵感与技术支持:

⚠️ 免责声明

项目内容不代表原作者立场,与原项目作者不存在任何隶属或授权关系。

S
Description
基于 GitHub 源仓库 HapeLee/legado-with-MD3 继承并再次修订的版本,持续进行 Material 3、Jetpack Compose 与功能体验优化。
Readme GPL-3.0
72 MiB
Languages
Kotlin 88.6%
Java 7.2%
HTML 1.2%
CSS 1.1%
Vue 0.9%
Other 0.9%