代码优化

This commit is contained in:
HapeLee
2026-05-16 00:52:34 +08:00
parent 6681c7984d
commit 2f98fda963
6 changed files with 163 additions and 49 deletions
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#4D2800</color>
<color name="ic_launcher_background_w">#C8E6C9</color>
</resources>
@@ -100,6 +100,13 @@ fun BookshelfItem(
Box(
modifier = modifier
.clip(RoundedCornerShape(4.dp))
.then(
if (isSelected) {
Modifier.background(LegadoTheme.colorScheme.secondaryContainer)
} else {
Modifier
}
)
.combinedClickable(
onClick = onClick,
onLongClick = onLongClick
@@ -1,6 +1,5 @@
package io.legado.app.ui.widget.components
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -35,52 +34,47 @@ fun AppPullToRefresh(
content: @Composable () -> Unit,
) {
if (ThemeResolver.isMiuixEngine(composeEngine)) {
if (enabled) {
// Let the miuix library handle gesture/animation, but skip the persistent
// Refreshing state that blocks all scroll events.
// localIsRefreshing is true only briefly so the indicator shows then hides,
// while the actual refresh runs independently.
var localIsRefreshing by remember { mutableStateOf(false) }
// Let the miuix library handle gesture/animation, but skip the persistent
// Refreshing state that blocks all scroll events.
// localIsRefreshing is true only briefly so the indicator shows then hides,
// while the actual refresh runs independently.
var localIsRefreshing by remember { mutableStateOf(false) }
LaunchedEffect(localIsRefreshing) {
if (localIsRefreshing) {
delay(300)
localIsRefreshing = false
}
}
MiuixPullToRefresh(
isRefreshing = localIsRefreshing,
onRefresh = {
localIsRefreshing = true
onRefresh()
},
modifier = modifier,
contentPadding = PaddingValues(top = topPadding + 16.dp),
pullToRefreshState = miuixRememberPullToRefreshState(),
refreshTexts = listOf(
"下拉刷新",
"松开刷新",
"正在刷新",
"正在刷新"
)
) {
content()
}
} else {
Box(modifier) {
content()
LaunchedEffect(localIsRefreshing) {
if (localIsRefreshing) {
delay(300)
localIsRefreshing = false
}
}
MiuixPullToRefresh(
isRefreshing = localIsRefreshing,
onRefresh = {
localIsRefreshing = true
onRefresh()
},
modifier = modifier,
contentPadding = PaddingValues(top = topPadding + 16.dp),
pullToRefreshState = miuixRememberPullToRefreshState(),
refreshTexts = listOf(
"下拉刷新",
"松开刷新",
"正在刷新",
"正在刷新"
)
) {
content()
}
} else {
if (enabled) {
val state = rememberPullToRefreshState()
PullToRefreshBox(
isRefreshing = isRefreshing,
onRefresh = onRefresh,
modifier = modifier,
state = state,
indicator = {
val state = rememberPullToRefreshState()
PullToRefreshBox(
isRefreshing = isRefreshing,
onRefresh = onRefresh,
modifier = modifier,
state = state,
enabled = enabled,
indicator = {
if (enabled) {
PullToRefreshDefaults.LoadingIndicator(
state = state,
isRefreshing = isRefreshing,
@@ -89,13 +83,9 @@ fun AppPullToRefresh(
.align(Alignment.TopCenter),
)
}
) {
content()
}
} else {
Box(modifier) {
content()
}
) {
content()
}
}
}
@@ -37,6 +37,7 @@
<string name="predictive_back_summary">启用系统预见性返回手势</string>
<string name="restart_to_apply">重启以应用</string>
<string name="custom_theme">自定义主题</string>
<string name="appearance_setting">外观设置</string>
<string name="click_to_select">点击选择</string>
<string name="compose_related">Compose 相关</string>
<string name="use_flexible_top_bar">使用折叠应用栏</string>
@@ -90,6 +91,7 @@
<string name="setting">设置</string>
<string name="theme_setting">外观</string>
<string name="theme_setting_s">主题 • 深色模式 • 界面设置</string>
<string name="dash_gap">虚线间隔</string>
<string name="other_setting">高级</string>
<string name="other_setting_s">语言 • 其他设置</string>
<string name="about">关于</string>
@@ -100,6 +102,7 @@
<string name="version">版本</string>
<string name="local">本地</string>
<string name="search">搜索</string>
<string name="input_search_key">Input search keyword</string>
<string name="origin_format">来源:%s</string>
<string name="read_dur_progress">最近:%s</string>
<string name="book_name">书名</string>
@@ -619,6 +622,7 @@
<string name="bg_image">背景图片</string>
<string name="bg_color">背景颜色</string>
<string name="text_color">正文</string>
<string name="footer_font_size">页脚字号</string>
<string name="select_image">选择图片</string>
<string name="group_manage">分组管理</string>
<string name="group_select">分组选择</string>
@@ -756,6 +760,7 @@
<!--color-->
<string name="primary">主色调</string>
<string name="accent">强调色</string>
<string name="font_color">字体颜色</string>
<string name="background_color">背景色</string>
<string name="navbar_color">底部操作栏颜色</string>
<string name="day">白天</string>
@@ -1140,6 +1145,7 @@
<string name="clear_webview_data">清除 WebView 数据</string>
<string name="clear_webview_data_summary">清除内置浏览器所有数据</string>
<string name="source_tab_list">列表</string>
<string name="layout_type">布局</string>
<string name="dict_rule">字典规则</string>
<string name="config_dict_rule">配置字典规则</string>
<string name="create">新建</string>
@@ -1379,6 +1385,7 @@
<string name="text_shadow_color">阴影</string>
<string name="global_read_setting">阅读显示 • 漫画相关</string>
<string name="screen_settings">屏幕显示与亮度</string>
<string name="refresh_limit_books">%1$d 本</string>
<string name="reading_behavior">阅读行为</string>
<string name="page_control">翻页控制</string>
<string name="redirect_policy">网页重定向策略</string>
@@ -1414,6 +1421,7 @@
<string name="underline_height">线段高度</string>
<string name="title_bar_mode">菜单标题显示方式</string>
<string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string>
<string name="auto_check_new_backup_s">打开软件时检查是否有新备份,有新备份时提示是否更新</string>
<string name="replace_purify_badge">计数替换净化</string>
<string name="page_anim_fade">渐变</string>
@@ -1491,4 +1499,34 @@
<string name="download_setting">下载</string>
<string name="image_cache">图片缓存</string>
<string name="network">网络</string>
<string name="personalization_setting">深度个性化设置</string>
<string name="personalization_setting_s">字体等深度个性化设置</string>
<string name="theme_pack">主题管理</string>
<string name="theme_pack_s">管理、导入导出完整主题包</string>
<string name="font_setting">字体设置</string>
<string name="font_setting_s">选择应用字体</string>
<string name="color_setting">颜色设置</string>
<string name="reset_color">重置颜色</string>
<string name="top_bar_color">应用栏颜色</string>
<string name="nav_bar_color">导航栏颜色</string>
<string name="border_setting">边框设置</string>
<string name="show_container_border">显示容器边框</string>
<string name="border_width">边框粗细</string>
<string name="border_style">边框样式</string>
<string name="solid_border">实线</string>
<string name="dashed_border">虚线</string>
<string name="header_color">页眉</string>
<string name="footer_color">页脚</string>
<string name="header_font">设置字体</string>
<string name="footer_font">页脚字体</string>
<string name="header_font_size">设置字号</string>
<string name="source_tab_start">启动</string>
<string name="r_startHtml">启动页html文本</string>
<string name="r_startStyle">启动页style文本</string>
<string name="r_startJs">启动页JsstartJs</string>
<string name="r_preloadJs">预注入JspreloadJs</string>
<string name="enable_preload">预加载</string>
<string name="load_with_web_log">显示WebView日志</string>
<string name="cache_first">优先缓存</string>
<string name="refresh_limit_unlimited">无限制</string>
</resources>
@@ -65,6 +65,7 @@
<string name="setting">設定</string>
<string name="theme_setting">主題設定</string>
<string name="theme_setting_s">同主題/顏色相關的一些設定</string>
<string name="dash_gap">虚线间隔</string>
<string name="other_setting">其它設定</string>
<string name="other_setting_s">與功能相關的一些設定</string>
<string name="about">關於</string>
@@ -75,6 +76,7 @@
<string name="version">版本</string>
<string name="local">本地</string>
<string name="search">搜尋</string>
<string name="input_search_key">Input search keyword</string>
<string name="origin_format">來源: %s</string>
<string name="read_dur_progress">最近: %s</string>
<string name="book_name">書名</string>
@@ -582,6 +584,7 @@
<string name="bg_image">背景圖片</string>
<string name="bg_color">背景顏色</string>
<string name="text_color">文字顏色</string>
<string name="footer_font_size">页脚字号</string>
<string name="select_image">選擇圖片</string>
<string name="group_manage">分組管理</string>
<string name="group_select">分組選擇</string>
@@ -716,6 +719,7 @@
<!--color-->
<string name="primary">主色調</string>
<string name="accent">強調色</string>
<string name="font_color">字体颜色</string>
<string name="background_color">背景色</string>
<string name="navbar_color">導航欄顏色</string>
<string name="day">白天</string>
@@ -1106,6 +1110,7 @@
<string name="clear_webview_data">清除 WebView 数据</string>
<string name="clear_webview_data_summary">清除内置浏览器所有数据</string>
<string name="source_tab_list">列表</string>
<string name="layout_type">布局</string>
<string name="dict_rule">字典规则</string>
<string name="config_dict_rule">配置字典规则</string>
<string name="create">新建</string>
@@ -1272,4 +1277,36 @@
<string name="bookshelf_empty_global_search">沒有書籍,嘗試全局搜索</string>
<string name="global_search">全局搜索</string>
<string name="cache_management">緩存管理</string>
<string name="appearance_setting">外观设置</string>
<string name="personalization_setting">深度个性化设置</string>
<string name="personalization_setting_s">字体等深度个性化设置</string>
<string name="theme_pack">主题管理</string>
<string name="theme_pack_s">管理、导入导出完整主题包</string>
<string name="font_setting">字体设置</string>
<string name="font_setting_s">选择应用字体</string>
<string name="color_setting">颜色设置</string>
<string name="reset_color">重置颜色</string>
<string name="top_bar_color">应用栏颜色</string>
<string name="nav_bar_color">导航栏颜色</string>
<string name="border_setting">边框设置</string>
<string name="show_container_border">显示容器边框</string>
<string name="border_width">边框粗细</string>
<string name="border_style">边框样式</string>
<string name="solid_border">实线</string>
<string name="dashed_border">虚线</string>
<string name="header_color">页眉</string>
<string name="footer_color">页脚</string>
<string name="header_font">设置字体</string>
<string name="footer_font">页脚字体</string>
<string name="header_font_size">设置字号</string>
<string name="source_tab_start">启动</string>
<string name="r_startHtml">启动页html文本</string>
<string name="r_startStyle">启动页style文本</string>
<string name="r_startJs">启动页JsstartJs</string>
<string name="r_preloadJs">预注入JspreloadJs</string>
<string name="enable_preload">预加载</string>
<string name="load_with_web_log">显示WebView日志</string>
<string name="cache_first">优先缓存</string>
<string name="refresh_limit_unlimited">无限制</string>
<string name="refresh_limit_books">%1$d 本</string>
</resources>
@@ -67,6 +67,7 @@
<string name="setting">設定</string>
<string name="theme_setting">主題設定</string>
<string name="theme_setting_s">與介面/顏色相關的一些設定</string>
<string name="dash_gap">虚线间隔</string>
<string name="other_setting">其它設定</string>
<string name="other_setting_s">與功能相關的一些設定</string>
<string name="about">關於</string>
@@ -77,6 +78,7 @@
<string name="version">版本</string>
<string name="local">本機</string>
<string name="search">搜尋</string>
<string name="input_search_key">Input search keyword</string>
<string name="origin_format">來源:%s</string>
<string name="read_dur_progress">最近:%s</string>
<string name="book_name">書名</string>
@@ -591,6 +593,7 @@
<string name="bg_image">背景圖片</string>
<string name="bg_color">背景顏色</string>
<string name="text_color">文字顏色</string>
<string name="footer_font_size">页脚字号</string>
<string name="select_image">選擇圖片</string>
<string name="group_manage">分組管理</string>
<string name="group_select">分組選擇</string>
@@ -728,6 +731,7 @@
<!--color-->
<string name="primary">主色調</string>
<string name="accent">強調色</string>
<string name="font_color">字体颜色</string>
<string name="background_color">背景色</string>
<string name="navbar_color">底部操作欄顏色</string>
<string name="day">白天</string>
@@ -1109,6 +1113,7 @@
<string name="clear_webview_data">清除 WebView 数据</string>
<string name="clear_webview_data_summary">清除内置浏览器所有数据</string>
<string name="source_tab_list">列表</string>
<string name="layout_type">布局</string>
<string name="dict_rule">字典规则</string>
<string name="config_dict_rule">配置字典规则</string>
<string name="create">新建</string>
@@ -1275,4 +1280,36 @@
<string name="bookshelf_empty_global_search">沒有書籍,嘗試全域搜尋</string>
<string name="global_search">全域搜尋</string>
<string name="cache_management">快取管理</string>
<string name="appearance_setting">外观设置</string>
<string name="personalization_setting">深度个性化设置</string>
<string name="personalization_setting_s">字体等深度个性化设置</string>
<string name="theme_pack">主题管理</string>
<string name="theme_pack_s">管理、导入导出完整主题包</string>
<string name="font_setting">字体设置</string>
<string name="font_setting_s">选择应用字体</string>
<string name="color_setting">颜色设置</string>
<string name="reset_color">重置颜色</string>
<string name="top_bar_color">应用栏颜色</string>
<string name="nav_bar_color">导航栏颜色</string>
<string name="border_setting">边框设置</string>
<string name="show_container_border">显示容器边框</string>
<string name="border_width">边框粗细</string>
<string name="border_style">边框样式</string>
<string name="solid_border">实线</string>
<string name="dashed_border">虚线</string>
<string name="header_color">页眉</string>
<string name="footer_color">页脚</string>
<string name="header_font">设置字体</string>
<string name="footer_font">页脚字体</string>
<string name="header_font_size">设置字号</string>
<string name="source_tab_start">启动</string>
<string name="r_startHtml">启动页html文本</string>
<string name="r_startStyle">启动页style文本</string>
<string name="r_startJs">启动页JsstartJs</string>
<string name="r_preloadJs">预注入JspreloadJs</string>
<string name="enable_preload">预加载</string>
<string name="load_with_web_log">显示WebView日志</string>
<string name="cache_first">优先缓存</string>
<string name="refresh_limit_unlimited">无限制</string>
<string name="refresh_limit_books">%1$d 本</string>
</resources>