【问题标题】:How can one apply padding from one text baseline to another?如何将填充从一个文本基线应用到另一个?
【发布时间】:2021-11-08 14:40:36
【问题描述】:

说下面的代码是正确的。如何将 SubtitleText 基线的填充应用到 Title Text 的基线?

            Column(...) {
               
                TitleText(...)

                SubTitleText(...)
                
            }

简而言之,如何在 Jetpack Compose 中实现这一点?

【问题讨论】:

    标签: android kotlin android-jetpack-compose android-jetpack-compose-text


    【解决方案1】:

    您可以在 compose 中独立控制各个方向的填充,如下所示:

    Text(text = "MyText"
         modifier = Modifier.padding(top = 16.dp,
                                     bottom = 16.dp,
                                     start = 0.dp,
                                     end = 0.dp))
    

    【讨论】:

    • 感谢@viv3k 的回答。对此,我真的非常感激。不幸的是,这并没有给我想要的结果。但是,我所知道的是, Modifier.padding() 是从内容的边界框应用的。在这种情况下,这不是我想要的。我也知道 Modifier.paddingfrombaseline() 。我想要的结果是从字幕文本的基线到标题文本的基线应用填充。
    • 不确定您在这里期待什么。您有两个堆叠在一起的盒子,您可以控制它们的填充和高度,可以对其进行操作以实现所需的结果。
    • 如果您想更精细地控制内容的排列方式,您实际上可以在 compose 中编写 ConstraintLayout。参考:developer.android.com/jetpack/compose/layouts/constraintlayout
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多