右上角之前只有一个未读数徽标,没有铃铛也不响应点击。改成常驻铃铛(未读时加深、红点计数),点击切到通知 tab,触控区 40dp。版本 0.5.1(versionCode 6)。
This commit is contained in:
@@ -27,8 +27,8 @@ android {
|
||||
minSdk = 26
|
||||
targetSdk = 35
|
||||
// 版本号是 OTA 的唯一判据:后端只比对 version_code,改这里才算"有新版本"
|
||||
versionCode = 5
|
||||
versionName = "0.5.0"
|
||||
versionCode = 6
|
||||
versionName = "0.5.1"
|
||||
buildConfigField("String", "API_BASE", "\"$apiBase\"")
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import androidx.compose.foundation.layout.statusBarsPadding
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.offset
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
@@ -30,11 +31,13 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.dadao.task.data.Workspace
|
||||
|
||||
/** 手机端的去处。看板不是独立入口,而是任务页顶部的一个切换(屏幕太窄,塞不下更多 tab)。 */
|
||||
@@ -93,18 +96,37 @@ fun WorkspaceScaffold(
|
||||
modifier = Modifier.clickable { onBackHome() },
|
||||
)
|
||||
}
|
||||
if (unread > 0) {
|
||||
Box(
|
||||
Modifier
|
||||
.background(Clay, CircleShape)
|
||||
.padding(horizontal = 7.dp, vertical = 2.dp),
|
||||
) {
|
||||
Text(
|
||||
if (unread > 99) "99+" else unread.toString(),
|
||||
style = MaterialTheme.typography.labelSmall,
|
||||
color = Color.White,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
)
|
||||
// 未读入口:铃铛常驻,红点只表达"有事没看"。
|
||||
// 之前这里只有一个光秃秃的数字,既没有图标也点不动,等于把入口做成了装饰。
|
||||
Box(
|
||||
Modifier
|
||||
.size(40.dp)
|
||||
.clip(RoundedCornerShape(10.dp))
|
||||
.clickable { onTab(WorkspaceTab.Notifications) },
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
Icons.Filled.Notifications,
|
||||
contentDescription = if (unread > 0) "通知,$unread 条未读" else "通知",
|
||||
tint = if (unread > 0) Ink else InkMuted,
|
||||
modifier = Modifier.size(23.dp),
|
||||
)
|
||||
if (unread > 0) {
|
||||
Box(
|
||||
Modifier
|
||||
.align(Alignment.TopEnd)
|
||||
.offset(x = 2.dp, y = 4.dp)
|
||||
.background(Clay, CircleShape)
|
||||
.padding(horizontal = 5.dp, vertical = 1.dp),
|
||||
) {
|
||||
Text(
|
||||
if (unread > 99) "99+" else unread.toString(),
|
||||
style = MaterialTheme.typography.labelSmall,
|
||||
fontSize = 10.sp,
|
||||
color = Color.White,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user