From 6a299a8a2c044b27310fb04577f94d3da988bb24 Mon Sep 17 00:00:00 2001 From: zhong <2724770085@qq.com> Date: Tue, 18 Nov 2025 18:42:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A0=E8=BD=BD=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=20=E5=B0=86=E5=8A=A0=E8=BD=BD=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E4=B8=BAstar=5FLoader.lottie=E5=8A=A8?= =?UTF-8?q?=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ravenow/ui/group/AddGroupMemberScreen.kt | 36 ++++++++------- .../ravenow/ui/group/AiAgentListScreen.kt | 20 ++++---- .../ravenow/ui/group/FriendListScreen.kt | 20 ++++---- .../aiosman/ravenow/ui/index/tabs/ai/Agent.kt | 46 +++++++------------ .../tabs/message/tab/AgentChatListScreen.kt | 11 +++-- .../moment/tabs/recommend/RecommendScreen.kt | 22 ++++----- .../moment/tabs/shorts/ShortVideoScreen.kt | 34 ++++++-------- .../composable/GroupChatEmptyContent.kt | 11 +++-- .../ui/index/tabs/search/SearchScreen.kt | 4 +- app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 12 files changed, 106 insertions(+), 101 deletions(-) diff --git a/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt index eec8ce3..b4c1f44 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt @@ -21,6 +21,10 @@ import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Text import androidx.compose.runtime.* +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -433,10 +437,10 @@ fun AddMemberAiAgentListScreen( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Text( - text = "加载中...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } else { @@ -465,10 +469,10 @@ fun AddMemberAiAgentListScreen( .padding(16.dp), contentAlignment = Alignment.Center ) { - Text( - text = "加载更多...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } @@ -533,10 +537,10 @@ fun AddMemberFriendListScreen( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Text( - text = "加载中...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } else { @@ -565,10 +569,10 @@ fun AddMemberFriendListScreen( .padding(16.dp), contentAlignment = Alignment.Center ) { - Text( - text = "加载更多...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt index 95ad19d..8a1367f 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt @@ -11,6 +11,10 @@ import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Text import androidx.compose.runtime.* +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -78,10 +82,10 @@ fun AiAgentListScreen( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Text( - text = "加载中...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } else { @@ -111,10 +115,10 @@ fun AiAgentListScreen( .padding(16.dp), contentAlignment = Alignment.Center ) { - Text( - text = "加载更多...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt index a0e28f9..8d9322f 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt @@ -11,6 +11,10 @@ import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Text import androidx.compose.runtime.* +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -78,10 +82,10 @@ fun FriendListScreen( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Text( - text = "加载中...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } else { @@ -111,10 +115,10 @@ fun FriendListScreen( .padding(16.dp), contentAlignment = Alignment.Center ) { - Text( - text = "加载更多...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt index 3de1824..f0c1bb6 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt @@ -91,6 +91,10 @@ import androidx.compose.ui.graphics.Brush import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.aspectRatio import androidx.compose.ui.platform.LocalConfiguration +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition // 检测是否接近列表底部的扩展函数 fun LazyListState.isScrolledToEnd(buffer: Int = 3): Boolean { @@ -382,25 +386,19 @@ fun Agent() { } } - // 加载更多指示器(仅在展示“发现更多”时显示) + // 加载更多指示器(仅在展示"发现更多"时显示) if (viewModel.isLoadingMore) { item { - Row( + Box( modifier = Modifier .fillMaxWidth() .padding(vertical = 24.dp), - horizontalArrangement = Arrangement.Center + contentAlignment = Alignment.Center ) { - androidx.compose.material3.CircularProgressIndicator( - modifier = Modifier.size(24.dp), - color = AppColors.text, - strokeWidth = 2.dp - ) - Spacer(modifier = Modifier.width(12.dp)) - androidx.compose.material3.Text( - text = "加载中...", - color = AppColors.secondaryText, - fontSize = 14.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } @@ -920,26 +918,16 @@ fun ChatRoomCard( modifier = Modifier .size(120.dp) .background( - color = AppColors.background, + color = Color.Transparent, shape = RoundedCornerShape(12.dp) ), contentAlignment = Alignment.Center ) { - Column( - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center - ) { - CircularProgressIndicator( - modifier = Modifier.size(32.dp), - color = AppColors.main - ) - Spacer(modifier = Modifier.height(12.dp)) - androidx.compose.material3.Text( - text = "加入中...", - fontSize = 14.sp, - color = AppColors.text - ) - } + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(96.dp) + ) } } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt index ef44a4c..636e662 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt @@ -49,6 +49,10 @@ import com.aiosman.ravenow.ui.composables.rememberDebouncer import com.aiosman.ravenow.ui.modifiers.noRippleClickable import com.aiosman.ravenow.utils.NetworkUtils import com.aiosman.ravenow.ui.network.ReloadButton +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition /** * 智能体聊天列表页面 @@ -187,9 +191,10 @@ fun AgentChatListScreen() { .padding(16.dp), contentAlignment = Alignment.Center ) { - CircularProgressIndicator( - modifier = Modifier.size(24.dp), - color = AppColors.main + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt index 7a1ae26..d5d2507 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt @@ -6,10 +6,14 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.pager.VerticalPager import androidx.compose.foundation.pager.rememberPagerState -import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.Text +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -75,17 +79,11 @@ fun RecommendScreen() { modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - CircularProgressIndicator(color = AppColors.main) - Text( - text = "", - modifier = Modifier.padding(top = 16.dp), - color = AppColors.text, - fontSize = 14.sp - ) - } + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(96.dp) + ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt index 1fe62a1..ba0d18f 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt @@ -3,11 +3,13 @@ package com.aiosman.ravenow.ui.index.tabs.moment.tabs.shorts import android.util.Log import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.foundation.layout.size import androidx.compose.material3.Text +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -77,19 +79,11 @@ fun ShortVideoScreen( .background(AppColors.background), contentAlignment = Alignment.Center ) { - Column( - modifier = Modifier.padding(16.dp), - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = androidx.compose.foundation.layout.Arrangement.Center - ) { - CircularProgressIndicator(color = AppColors.main) - Text( - text = "", - modifier = Modifier.padding(top = 16.dp), - color = AppColors.text, - fontSize = 14.sp - ) - } + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(96.dp) + ) } } // 错误状态 @@ -130,10 +124,10 @@ fun ShortVideoScreen( .background(AppColors.background), contentAlignment = Alignment.Center ) { - Text( - text = "准备加载...", - color = AppColors.text, - fontSize = 16.sp + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt index 12133ea..2098d8b 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt @@ -25,6 +25,10 @@ import androidx.compose.material.pullrefresh.rememberPullRefreshState import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text +import com.airbnb.lottie.compose.LottieAnimation +import com.airbnb.lottie.compose.LottieCompositionSpec +import com.airbnb.lottie.compose.LottieConstants +import com.airbnb.lottie.compose.rememberLottieComposition import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -184,9 +188,10 @@ fun GroupChatEmptyContent( .padding(16.dp), contentAlignment = Alignment.Center ) { - CircularProgressIndicator( - modifier = Modifier.size(24.dp), - color = AppColors.main + LottieAnimation( + composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value, + iterations = LottieConstants.IterateForever, + modifier = Modifier.size(80.dp) ) } } diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt index 27539a5..aca469e 100644 --- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt +++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt @@ -274,14 +274,14 @@ fun HistorySection( verticalAlignment = Alignment.CenterVertically ) { Text( - text = "历史搜索", + text = stringResource(R.string.recent_search), color = AppColors.text, fontSize = 16.sp, fontWeight = FontWeight.W600 ) Spacer(modifier = Modifier.weight(1f)) Text( - text = "清空", + text = stringResource(R.string.clear), color = AppColors.secondaryText, fontSize = 14.sp, modifier = Modifier.noRippleClickable { onClear() } diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1406143..b69080a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -219,6 +219,7 @@ 利用可能上限: 記憶がありません 上部のボタンをクリックしてグループ記憶を追加してください + けんさくりれき 作成 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 64708db..f8d63d9 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -221,6 +221,7 @@ 草稿箱 暂无草稿 仅保存最近5个草稿 + 历史搜索 创建 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cac5317..a890cb7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -218,6 +218,7 @@ Available Limit: No memory yet Click the button above to add group memory + Recent Search Create