kotlin 合成行中的不同对齐方式

j9per5c4  于 2023-02-24  发布在  Kotlin
关注(0)|答案(1)|浏览(152)

(我是一个作曲新手,所以这可能是一个愚蠢的问题,小心:D)
我正在尝试实现一个布局,看起来像这样:

--------------------------
|          Text1         |
|     Text2ABitSmaller  +|
|                        |
--------------------------

这个“框”(正如我将提到它),应该是最大宽度,并包含2个居中的文本(一个在另一个下面)和一个图标在框的结尾(在文本视图的高度)
我尝试过不同的方法(一行包含3列;有间距的一行(修正权重(1f));一行两列),而且没有一个效果很好(要么得到奇怪的结果,要么放置混乱),使用行作为框的“基础”的方法是否合理?它似乎不能同时以2种方式排列东西(排列。中心&排列。结束)
任何提示/链接/提示将不胜感激,提前感谢

u91tlkcl

u91tlkcl1#

您可以在第二个Row中使用Box,将Text放在中间,将Icon放在末尾。
比如:

Column(

) {
    Row(
        modifier = Modifier.fillMaxWidth(),
        horizontalArrangement = Arrangement.Center
    ){
        Text("Text1")
    }
    Row(){
        Box(
            modifier = Modifier.fillMaxWidth(),
            contentAlignment = Alignment.Center
        ) {
            Text("Text2ABitSmaller")
            Icon(Icons.Filled.Add,"contentDescription",
               modifier = Modifier.align(Alignment.CenterEnd)
            )
        }
    }
}

请注意,align修饰符将优先于Box的对齐参数。

相关问题