



























@@ -4,6 +4,7 @@ import ai.openclaw.app.MainViewModel
44import ai.openclaw.app.R
55import ai.openclaw.app.VoiceCaptureMode
66import ai.openclaw.app.ui.design.ClawPanel
7+import ai.openclaw.app.ui.design.ClawPlainIconButton
78import ai.openclaw.app.ui.design.ClawPrimaryButton
89import ai.openclaw.app.ui.design.ClawSecondaryButton
910import ai.openclaw.app.ui.design.ClawStatus
@@ -269,12 +270,12 @@ private fun DictationScreen(
269270 verticalArrangement = Arrangement.spacedBy(10.dp),
270271 ) {
271272Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(9.dp)) {
272-VoicePlainIconButton(icon = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back to voice", onClick = onCancel)
273+ClawPlainIconButton(icon = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back to voice", onClick = onCancel)
273274Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(2.dp)) {
274275Text(text = "Dictation", style = ClawTheme.type.title.copy(fontSize = 16.sp, lineHeight = 20.sp), color = ClawTheme.colors.text)
275276Text(text = "Transcribe then send", style = ClawTheme.type.body, color = ClawTheme.colors.textMuted)
276277 }
277-VoicePlainIconButton(icon = Icons.Default.Settings, contentDescription = "Dictation settings", onClick = onOpenVoiceSettings)
278+ClawPlainIconButton(icon = Icons.Default.Settings, contentDescription = "Dictation settings", onClick = onOpenVoiceSettings)
278279 }
279280280281Surface(
@@ -406,7 +407,7 @@ private fun TalkSessionScreen(
406407 verticalArrangement = Arrangement.spacedBy(10.dp),
407408 ) {
408409Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
409-VoicePlainIconButton(icon = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back to voice", onClick = onEndTalk)
410+ClawPlainIconButton(icon = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back to voice", onClick = onEndTalk)
410411Column(modifier = Modifier.weight(1f), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(3.dp)) {
411412Text(text = "Realtime Talk", style = ClawTheme.type.title.copy(fontSize = 16.sp, lineHeight = 20.sp), color = ClawTheme.colors.text)
412413Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(5.dp)) {
@@ -425,7 +426,7 @@ private fun TalkSessionScreen(
425426 )
426427 }
427428 }
428-VoicePlainIconButton(icon = Icons.Default.Info, contentDescription = "Talk settings", onClick = onOpenVoiceSettings)
429+ClawPlainIconButton(icon = Icons.Default.Info, contentDescription = "Talk settings", onClick = onOpenVoiceSettings)
429430 }
430431431432Surface(
@@ -561,7 +562,7 @@ private fun VoiceHeader(
561562 color = ClawTheme.colors.text,
562563 modifier = Modifier.weight(1f),
563564 )
564-VoicePlainIconButton(icon = Icons.Default.Search, contentDescription = "Search voice", onClick = onOpenCommand)
565+ClawPlainIconButton(icon = Icons.Default.Search, contentDescription = "Search voice", onClick = onOpenCommand)
565566 }
566567Row(
567568 modifier = Modifier.fillMaxWidth(),
@@ -578,7 +579,7 @@ private fun VoiceHeader(
578579 overflow = TextOverflow.Ellipsis,
579580 )
580581 }
581-VoicePlainIconButton(
582+ClawPlainIconButton(
582583 icon = if (speakerEnabled) Icons.AutoMirrored.Filled.VolumeUp else Icons.AutoMirrored.Filled.VolumeOff,
583584 contentDescription = if (speakerEnabled) "Mute speaker" else "Unmute speaker",
584585 onClick = onToggleSpeaker,
@@ -587,19 +588,6 @@ private fun VoiceHeader(
587588 }
588589}
589590590-@Composable
591-private fun VoicePlainIconButton(
592-icon: androidx.compose.ui.graphics.vector.ImageVector,
593-contentDescription: String,
594-onClick: () -> Unit,
595-) {
596-Surface(onClick = onClick, modifier = Modifier.size(ClawTheme.spacing.touchTarget), shape = CircleShape, color = Color.Transparent, contentColor = ClawTheme.colors.text) {
597-Box(contentAlignment = Alignment.Center) {
598-Icon(imageVector = icon, contentDescription = contentDescription, modifier = Modifier.size(18.dp))
599- }
600- }
601-}
602-603591@Composable
604592private fun VoiceHero(
605593gatewayStatus: String,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。