有人知道如何使用可组合的堆栈布局吗? 我知道,它必须类似于我们都知道的RelativeLayout。但是,我没有得到所需的结果。而不是一个视图在另一个视图上绘制,第一个视图完全覆盖了第二个视图(或者第二个视图根本没有绘制)。 我正在尝试在工具栏的中央放置一个文本,并在屏幕右侧对齐一个按钮。
(agentRef = :agentRef OR agentRef IS NULL AND :agentRef IS NULL)
答案 0 :(得分:1)
Slack
是可组合的,其子元素相对于其边缘定位。
仅举一个例子,中心为300x300的矩形,topLeft / bottomRight角为2个150x150的矩形。
Stack {
aligned(Alignment.Center) {
SizedRectangle(color = Color(0xFF0000FF), width = 300.dp, height = 300.dp)
}
aligned(Alignment.TopLeft) {
SizedRectangle(color = Color(0xFF00FF00), width = 150.dp, height = 150.dp)
}
aligned(Alignment.BottomRight) {
SizedRectangle(color = Color(0xFFFF0000), width = 150.dp, height = 150.dp)
}
}
关于TopAppBar,您可以使用类似以下内容的方法:
val someActionImage: Image = ...
val someNavigationImage: Image = .....
val navigationIcon: @Composable() () -> Unit = {
AppBarIcon(someNavigationImage) { /* doSomething()*/ }
}
val actionData = listOf(someActionImage)
TopAppBar(
title = { Text("Simple TopAppBar") },
navigationIcon = navigationIcon,
actionData = actionData
) { actionImage ->
AppBarIcon(actionImage) { /* doSomething()*/ }
}