修复BUG:我的界面右上角图标会跟随背景图一起向上滑走

This commit is contained in:
2025-09-12 18:24:49 +08:00
parent 8154a0ddc4
commit 349d39daf2

View File

@@ -50,10 +50,12 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.drawWithContent
import androidx.compose.ui.draw.shadow import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.graphics.nativeCanvas
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
@@ -369,39 +371,6 @@ fun ProfileV3(
) )
} }
} }
if (isSelf&&isMain) {
Box(
modifier = Modifier
.align(Alignment.TopEnd)
.padding(
top = statusBarPaddingValues.calculateTopPadding(),
start = 8.dp,
end = 8.dp
)
.noRippleClickable {
IndexViewModel.openDrawer = true
}
) {
Box(
modifier = Modifier
.padding(16.dp)
.clip(RoundedCornerShape(8.dp))
.background(
AppColors.background.copy(
alpha = 0.7f
)
)
) {
Icon(
painter = painterResource(id = R.drawable.rider_pro_more_horizon),
contentDescription = "",
tint = AppColors.text
)
}
}
}
} }
Box( Box(
@@ -460,7 +429,7 @@ fun ProfileV3(
} }
} }
// 添加用户智能体行(智能体用户不显示) // 添加用户智能体行(智能体用户不显示)
if (!isAiAccount) { if (!isAiAccount) {
UserAgentsRow( UserAgentsRow(
@@ -509,84 +478,99 @@ fun ProfileV3(
} }
Column( Box(modifier = Modifier.fillMaxWidth()) {
modifier = Modifier Column(
.fillMaxWidth() modifier = Modifier
.graphicsLayer { .fillMaxWidth()
alpha = 1 - state.toolbarState.progress .graphicsLayer {
} alpha = 1 - state.toolbarState.progress
.background(AppColors.profileBackground) }
.onGloballyPositioned { .background(AppColors.profileBackground)
miniToolbarHeight = with(density) { .onGloballyPositioned {
it.size.height.toDp().value.toInt() miniToolbarHeight = with(density) {
it.size.height.toDp().value.toInt()
}
} }
}
) {
StatusBarSpacer()
Row(
modifier = Modifier.padding(
horizontal = 16.dp,
vertical = 8.dp,
).noRippleClickable {
},
verticalAlignment = Alignment.CenterVertically
) { ) {
if (!isMain) { StatusBarSpacer()
Image( Row(
painter = painterResource(id = R.drawable.rider_pro_back_icon), // Replace with your image resource modifier = Modifier.padding(
contentDescription = "Back", horizontal = 16.dp,
modifier = Modifier vertical = 8.dp,
.noRippleClickable { ).noRippleClickable {
navController.navigateUp()
}
.size(24.dp),
colorFilter = ColorFilter.tint(AppColors.text)
)
Spacer(modifier = Modifier.width(8.dp))
CustomAsyncImage(
LocalContext.current,
profile?.avatar,
modifier = Modifier
.size(32.dp)
.clip(CircleShape),
contentDescription = "",
contentScale = ContentScale.Crop
)
Spacer(modifier = Modifier.width(16.dp))
Text(
text = profile?.nickName ?: "",
fontSize = 16.sp,
fontWeight = FontWeight.W600,
color = AppColors.text
)
} },
verticalAlignment = Alignment.CenterVertically
) {
if (!isMain) {
Image(
painter = painterResource(id = R.drawable.rider_pro_back_icon), // Replace with your image resource
contentDescription = "Back",
modifier = Modifier
.noRippleClickable {
navController.navigateUp()
}
.size(24.dp),
colorFilter = ColorFilter.tint(AppColors.text)
)
Spacer(modifier = Modifier.width(8.dp))
CustomAsyncImage(
LocalContext.current,
profile?.avatar,
modifier = Modifier
.size(32.dp)
.clip(CircleShape),
contentDescription = "",
contentScale = ContentScale.Crop
)
Spacer(modifier = Modifier.width(16.dp))
Text(
text = profile?.nickName ?: "",
fontSize = 16.sp,
fontWeight = FontWeight.W600,
color = AppColors.text
)
}
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
if (isSelf&&isMain) { if (isSelf&&isMain) {
Box( Box(
modifier = Modifier.noRippleClickable { modifier = Modifier
IndexViewModel.openDrawer = true .size(24.dp)
} .padding(16.dp)
) { )
Box( }
modifier = Modifier }
.padding(16.dp)
) { Spacer(modifier = Modifier.height(8.dp))
Icon( }
painter = painterResource(id = R.drawable.rider_pro_more_horizon), if (isSelf&&isMain) {
contentDescription = "", Box(
tint = AppColors.text modifier = Modifier
) .align(Alignment.TopEnd)
} .padding(
top = 32.dp ,
end = 16.dp
)
.noRippleClickable {
IndexViewModel.openDrawer = true
}
) {
Box(
modifier = Modifier
.padding(16.dp)
} ) {
Icon(
painter = painterResource(id = R.drawable.rider_pro_more_horizon),
contentDescription = "",
tint = AppColors.text
)
} }
}
} }
Spacer(modifier = Modifier.height(8.dp))
} }
} }
) { ) {