如何在TextButton中将文本和图标分开以使其与WhatsApp设置类似

Row(
    modifier = Modifier
        .fillMaxWidth()
        .height(50.dp)
) {
    TextButton(
        onClick = { /*TODO*/  },
        modifier = Modifier.fillMaxSize(),
    ) {

        Text(text = "$name")
        Icon(
            imageVector = Icons.Filled.KeyboardArrowRight,
            contentDescription = "",
            modifier = Modifier.size(40.dp)
        )
    }
}

It shows enter image description here

但我想要喜欢这个

enter image description here

我试了SpacerPadding,但没有用,因为我 一百零二

@Composable
fun SettingsButtons(name: String) {

    Row(
        modifier = Modifier
            .fillMaxWidth()
            .height(50.dp)
    ) {
        TextButton(
            onClick = { /*TODO*/ },
            modifier = Modifier.fillMaxSize(),
        ) {

            Text(text = "$name")
            Icon(
                imageVector = Icons.Filled.KeyboardArrowRight,
                contentDescription = "",
                modifier = Modifier.size(40.dp)
            )
        }
    }

}

根据我传递的参数{name},文本将被更改

SettingsButtons(name = "Account")
SettingsButtons(name = "Order History")
SettingsButtons(name = "Favorite")

所以我认为为什么SpacerPadding不起作用,因为文本大小不同,或者我没有正确使用它

推荐答案

The content of a TextButton is a RowScope.
You can apply a weight(1f) modifier to the Text

TextButton(
    onClick = { /*TODO*/ },
    modifier = Modifier.fillMaxWidth(),
) {

    Text(text = "Name", modifier = Modifier.weight(1f))
    Icon(
        imageVector = Icons.Filled.KeyboardArrowRight,
        contentDescription = "",
        modifier = Modifier.size(40.dp)
    )
}

enter image description here

Android相关问答推荐

写入排除例外以进行依赖性判断

在Android Studio中陷入了不兼容的Gradle版本的循环

如何在Android中使用TextView设置动态文本的样式

Android 14(Oneui 6)中的本地推送通知行为不一致

我如何剪裁一个可由另一个合成的

在柯特林连续测量网速

如何在Jetpack Compose android中使用导航

Android-交叉引用表中的ForeignKey用于什么?

如何在Jetpack Compose中创建这个圆形?

从 Jetpack Compose 中的图像中删除默认高度

Android 设备断开连接后发送的 BLE 蓝牙数据

用作输入参数的 Lambda 函数导致重组

在移动设备上看到时如何增加 PasswordField 文本?

在事件中使用 Context/Toast 时不需要的重组 - Jetpack Compose

喷气背包组成影子奇怪的行为

Compose `Icons.Outlined.Star` 没有概述

无法使用 Gradle 托管设备对基线配置文件运行测试

如何在 TextInputEdit 中调整可绘制对象的大小

在开发过程中我应该把 mp4 文件放在哪里?

Android Jetpack Compose - 找不到 R.drawable?