小编And*_*zPL的帖子

如何在 Jetpack Compose 中的 Row 末尾设置组件?

我想在 Jetpack Compose 的 Row 末尾设置 RadioButton 组件。尝试使用约束布局并将 RadioButton 移到行之外,但 RadioButton 没有与行中的其他组件居中。我应该怎么办? 在此输入图像描述

这是我的代码:

    ConstraintLayout {
        val (row, button) = createRefs()
        Row(
            modifier = Modifier
                .height(56.dp)
                .fillMaxWidth()
                .constrainAs(row){
                    start.linkTo(parent.start)
                    end.linkTo(parent.end)
                },
            verticalAlignment = Alignment.CenterVertically
        ) {
            Icon(
                /* *** */
            )
            Text(
                text = "mail@gmail.com",
                modifier = Modifier.padding(start = 16.dp, end = 16.dp),
            )
            RadioButton(
                /* *** */
            )
        }

    }
Run Code Online (Sandbox Code Playgroud)

更重要的是,如果文本太长,我想剪切文本组件(不覆盖或放在单选按钮下面)

android kotlin android-jetpack-compose

16
推荐指数
1
解决办法
2万
查看次数

如何通过填充使 Row 组件整体可点击?

我有一个 Row 组件,由于填充修饰符的原因,该组件在整个区域都不可单击。如何使该组件在整个区域上可单击并具有相同的填充效果?

@Composable
fun UserRow() {
        Row(
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()
                .padding(16.dp)
                .clickable {
                    /* ... */
                }
        ) {
            Icon(
                /* ... */
            )
            Text(
                /* ... */
            )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

11
推荐指数
1
解决办法
2374
查看次数

当子组件大小发生变化时,如何调整组件的大小以适应其子组件并保持不变?(Jetpack 撰写)

我有一个 Compose 组件,里面有一个盒子和 2 个组件,但它们永远不会同时可见。我想将此框的大小调整为第一个组件,并在该组件不可见时保持不变。

Box(
    modifier = modifier.then(Modifier.background(bgColor)),
    contentAlignment = Alignment.Center
) {
    if (componentVisible1) {
        Button(
            modifier = Modifier.height(48.dp).widthIn(144.dp),
            onClick = onClicked,
            enabled = enabled
        ) {
            Text(
                text = "text1",
            )
        }
    }

    if (component2Visible) {
        CircularProgressIndicator(
            modifier = Modifier.size(24.dp).background(buttonColor, CircleShape).padding(2.dp),
            strokeWidth = 2.dp
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当 component1 不可见时,框的宽度会减小。

android kotlin android-jetpack-compose

3
推荐指数
1
解决办法
1498
查看次数

标签 统计

android ×3

android-jetpack-compose ×3

kotlin ×3