我正在尝试 Jetpack Compose,但 Row 的行为让我感到困惑。我在图标按钮旁边有一个文本,我希望图标按钮锚定到最小宽度为 48dp 的一侧,并让文本环绕它。像这样:
但文本不会换行,它会占用行中的所有空间:
@Composable
fun SampleLayout(text: String) {
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(text)
IconButton(
onClick = { },
) {
Icon(
imageVector = androidx.compose.material.icons.Icons.Default.StarBorder,
null
)
}
}
}
@Preview(showBackground = true, backgroundColor = 0x006EAEA0, fontScale = 1.5F)
@Composable
fun SamplePreview1() {
Box(Modifier.padding(16.dp)) {
SampleLayout("helooooo")
}
}
@Preview(showBackground = true, backgroundColor = 0x006EAEA0, fontScale = 1.5F)
@Composable
fun SamplePreview2() {
Box(Modifier.padding(16.dp)) {
SampleLayout("helooooooooooooooooooooooooooo")
}
}
@Preview(showBackground = true, backgroundColor = …Run Code Online (Sandbox Code Playgroud) 如何使用间隔填充一行中的两个元素,让一个元素位于行的开头,另一个元素位于行的末尾?
Row {
Text("Start")
Spacer(modifier = Modifier.SpaceBetween) // How to set the modifier
Text("End")
}
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-jetpack-compose-layout
我是jetpack compose的新手,我正在尝试做一件我无法实现的简单事情。
\n我想要做的是在同一行中对齐一个组件(在本例中是一个表面),位于行的开头,另一个组件(列)位于行的末尾。
\n怎么才能得到这个呢?
\n我正在尝试这个,但它不起作用:
\nRow(Modifier.padding(top = 24.dp)\n .fillMaxWidth()) {\n Surface(\n modifier = Modifier.size(70.dp),\n shape = RectangleShape,\n color = MaterialTheme.colors.onSurface.copy(alpha = 0.2f)\n ) {\n // Image goes here\n }\n\n Column(modifier = Modifier.size(70.dp)) {\n Text("Total",\n fontSize = 12.sp,\n color = AppGreyDark,\n modifier = Modifier.padding(end = 16.dp))\n\n Text("12,99 \xe2\x82\xac",\n fontSize = 18.sp,\n color = AppBlackDark,\n modifier = Modifier.padding(top = 4.dp))\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n android android-jetpack-compose composable android-compose-layout