我正在try 创建一个圆形按钮,里面的一些首字母的文本应该居中.按钮大小应该是34.dp,文本应该是13.sp,但我必须增加按钮的大小才能正确显示文本

我认为文本没有显示的原因是因为文本可组合的内部填充.

Button(
    modifier = Modifier.size(49.dp),
    colors = ButtonDefaults.buttonColors(
        containerColor = Color.Black,
        contentColor = Color.White),
    onClick = {

    }) {
    Text(text = "JB",
        fontSize = 13.sp,
        fontWeight = FontWeight.SemiBold,
        style = TextStyle(
            lineHeightStyle = LineHeightStyle(
                alignment = LineHeightStyle.Alignment.Center,
                trim = LineHeightStyle.Trim.Both
            )
        )
    )
}

推荐答案

设置默认内容填充contentPadding = PaddingValues(0.dp)

enter image description here

ElevatedButton(
onClick = {
    Toast.makeText(this@MainActivity, "Click", Toast.LENGTH_SHORT).show()
},
modifier = Modifier.width(34.dp),
contentPadding = PaddingValues(0.dp)
) {
    Text(
        text = "JB",
        fontSize = 13.sp,
        fontWeight = FontWeight.SemiBold,
        maxLines = 1,
        overflow = TextOverflow.Ellipsis
    )
}
               

Android相关问答推荐

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

无法理解Kotlin Coroutines and Flows中的J.C.编程行为

如何解决Android Studio中的in fragment问题

Android Jetpack Compose Material3主题配色方案

无法在Jetpack Compose中显示Admob原生广告

在命令行Android应用程序开发中苦苦挣扎

在以XML格式设置完整屏幕视图时可见App Compat按钮

Play store 的 Play 完整性与 Firebase 应用判断 Play 完整性

使用 Jetpack Compose 在 Android TV 上启用系统声音

为什么我的 APK 中包含来自旧版 Android 支持库的类?

Jetpack Compose 如何使一个项目相对于另一个项目垂直居中

将 CircularProgressIndicator 添加到按钮而不增加其高度

发布 MAUI 应用程序时出现遇到重复程序集错误

了解 Compose 声明性逻辑

PullRefreshIndicator 与 ScrollableTabRow 重叠

如何在包含 Jetpack Compose 内容的布局中使用权重

为什么我不能在屏幕外拿任何物体

现代Android中的后台处理

如何在 Kotlin 的片段中制作图像列表?

即使我在单选按钮上明确设置了选中状态,RecyclerView 中的单选按钮也会随机取消选中