android - 如何在 Jetpack Compose 中按基线对齐行元素

标签 android android-layout kotlin android-jetpack android-jetpack-compose

如何对齐 Row 中的元素由基线。我的问题是我想要一个 Row具有多个 Text 的元素元素和 Text 中的每一个元素将具有不同的字体和大小。默认情况下,它们在顶部对齐。我需要它们在底部对齐。这是代码:

class MainActivity : ComponentActivity()  {
    override fun onCreate(savedInstanceState: Bundle?)  {
        super.onCreate(savedInstanceState)

        setContent {
            MaterialTheme {
                Row {
                    Text(
                        text = "Abrakadabra",
                        style = TextStyle(fontSize = 22.sp, fontWeight = FontWeight.Bold)
                    )
                    Text(
                        text = "Abrakadabra",
                        style = TextStyle(fontSize = 14.sp, fontWeight = FontWeight.Bold)
                    )
                }
            }
        }
    }
}
这是代码的渲染 View :
enter image description here

最佳答案

在 Jetpack 中撰写 1.0.0可以通过这种方式完成:

Row {
    Text(
        text = "One",
        fontSize = 20.sp,
        modifier = Modifier.alignByBaseline()
    )

    Text(
        text = "Two",
        fontSize = 12.sp,
        modifier = Modifier.alignByBaseline()
    )
}
结果:
enter image description here

如果有人想在使用多行时将文本与最后一个基线对齐 Text可以使用 Modifier.alignBy(LastBaseline) 来完成
Row {
    Text(
        text = "Line 1\nLine 2",
        fontSize = 20.sp,
        modifier = Modifier.alignBy(LastBaseline)
    )

    Text(
        text = "Line 3",
        fontSize = 12.sp,
        modifier = Modifier.alignBy(LastBaseline)
    )
}
enter image description here

关于android - 如何在 Jetpack Compose 中按基线对齐行元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60405430/

相关文章:

Android Bitmap.createBitmap() 返回高度和宽度为 -1 的位图

android - 为包含设置布局属性

Android Studio 预览渲染

java - 如何在没有 'illegal reflective access' 的情况下在 Java 中设置环境变量?如何使用附加打开?

kotlin - java.lang.IllegalStateException : KoinApplication has not been started

java - 语句上的空指针异常 = conn.createStatement();

Android 全屏通知不会显示在锁定屏幕上

android - MapFragment ArcGis - 指定的子项已有父项

android - 如何在gridview中单击图像添加音频

scala - Kotlin形式的Scala多个_ [下划线]魔术