|
@@ -43,6 +43,8 @@ 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.rotate
|
|
import androidx.compose.ui.draw.rotate
|
|
|
|
|
+import androidx.compose.ui.geometry.Offset
|
|
|
|
|
+import androidx.compose.ui.graphics.Brush
|
|
|
import androidx.compose.ui.graphics.Color
|
|
import androidx.compose.ui.graphics.Color
|
|
|
import androidx.compose.ui.graphics.SolidColor
|
|
import androidx.compose.ui.graphics.SolidColor
|
|
|
import androidx.compose.ui.platform.LocalContext
|
|
import androidx.compose.ui.platform.LocalContext
|
|
@@ -128,6 +130,7 @@ class PageProfile : PageBase() {
|
|
|
Title(pv, "个人信息")
|
|
Title(pv, "个人信息")
|
|
|
// 头像信息
|
|
// 头像信息
|
|
|
CardContainer(modifier = Modifier.padding(16.dp), topRadius = 16.dp, bottomRadius = 16.dp) {
|
|
CardContainer(modifier = Modifier.padding(16.dp), topRadius = 16.dp, bottomRadius = 16.dp) {
|
|
|
|
|
+ // 头像布局
|
|
|
Column {
|
|
Column {
|
|
|
Row(
|
|
Row(
|
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
@@ -139,11 +142,27 @@ class PageProfile : PageBase() {
|
|
|
) {
|
|
) {
|
|
|
Text("头像", fontSize = 16.sp, fontWeight = FontWeight.Bold, color = Text)
|
|
Text("头像", fontSize = 16.sp, fontWeight = FontWeight.Bold, color = Text)
|
|
|
Spacer(modifier = Modifier.weight(1f))
|
|
Spacer(modifier = Modifier.weight(1f))
|
|
|
- AsyncImage(
|
|
|
|
|
- model = state.user.avatar, contentDescription = null, modifier = Modifier
|
|
|
|
|
|
|
+ // 默认背景
|
|
|
|
|
+ Box(
|
|
|
|
|
+ modifier = Modifier
|
|
|
.size(52.dp)
|
|
.size(52.dp)
|
|
|
- .clip(CircleShape)
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ .background(
|
|
|
|
|
+ brush = Brush.linearGradient(
|
|
|
|
|
+ colors = listOf(Color(0xFFFFAE00), Color(0xFFF7C700)),
|
|
|
|
|
+ start = Offset(0f, 0f),
|
|
|
|
|
+ end = Offset.Infinite
|
|
|
|
|
+ ),
|
|
|
|
|
+ shape = RoundedCornerShape(50)
|
|
|
|
|
+ ),
|
|
|
|
|
+ contentAlignment = Alignment.Center
|
|
|
|
|
+ ) {
|
|
|
|
|
+ Text("${state.user.nickname.ifEmpty { "P" }[0]}", color = Text, fontWeight = FontWeight.Bold)
|
|
|
|
|
+ AsyncImage(
|
|
|
|
|
+ model = state.user.avatar, contentDescription = null, modifier = Modifier
|
|
|
|
|
+ .size(52.dp)
|
|
|
|
|
+ .clip(CircleShape)
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
Icon(
|
|
Icon(
|
|
|
painter = painterResource(R.drawable.back),
|
|
painter = painterResource(R.drawable.back),
|
|
|
contentDescription = null,
|
|
contentDescription = null,
|
|
@@ -310,10 +329,10 @@ class PageProfile : PageBase() {
|
|
|
fun SpacerLine() {
|
|
fun SpacerLine() {
|
|
|
Spacer(
|
|
Spacer(
|
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
|
|
|
+ .padding(horizontal = 12.dp)
|
|
|
.fillMaxWidth()
|
|
.fillMaxWidth()
|
|
|
.height(1.dp)
|
|
.height(1.dp)
|
|
|
.background(Color.Gray.copy(alpha = 0.2f))
|
|
.background(Color.Gray.copy(alpha = 0.2f))
|
|
|
- .padding(horizontal = 12.dp)
|
|
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
|