我在<code>androidx.compose.ui.layout.SubcomposeLayout的源代码中看到了这个函数。kt在androidx.compose.ui中:ui:1.0.0-beta02。
private fun createMeasurePolicy(
block: SubcomposeMeasureScope.(Constraints) -> MeasureResult
): MeasurePolicy = object : LayoutNode.NoIntrinsicsMeasurePolicy(
error = "Intrinsic measurements are not currently supported by SubcomposeLayout"
) {
...
}
当composable将在subcomposable中呈现时,看起来我不能使用内部度量。
作为参考,我试图在ModalBottomSheet中使用这样的视图。目的是在工作表中具有可滚动的视图,并且始终在底部有一个粘性视图(如按钮)。我希望可滚动内容只占用它需要的空间,并且在工作表展开状态下并不总是全屏,而weight(1f)
确实如此。
Column(
modifier = Modifier
.height(IntrinsicSize.Min)
.wrapContentHeight(Alignment.Bottom),
verticalArrangement = Arrangement.Bottom
) {
Column(
content = sheetContent,
modifier = Modifier
.weight(1f)
.wrapContentHeight(Alignment.Bottom)
)
Box {
bottomStickyContent?.let { it() }
}
}
听起来答案是否定的,SubcomiceLayout
不会很快获得Intrinsic支持,如果有的话。
我通过代码更新使用约束布局解决了这个问题。
ConstraintLayout {
val (sticky, column) = createRefs()
Column(
content = sheetContent,
modifier = Modifier
.constrainAs(column) {
top.linkTo(parent.top)
bottom.linkTo(sticky.top)
height = Dimension.preferredWrapContent
}
.wrapContentHeight(Alignment.Bottom)
)
Box(
modifier = Modifier
.constrainAs(sticky) {
bottom.linkTo(parent.bottom)
}
) {
bottomStickyContent?.let { it() }
}
}
我正在尝试实现类似于Google Play Music的“立即收听”布局。我在网上找到的每一个例子都是一个简单的。我正在努力实现更复杂的目标。差不多 整个布局(减去工具栏)是否可以是一个包含两个或多个RecyclerView的?差不多 最终,我想要实现的是一个如下的布局,并保持良好的性能。
我不知道如何移动和想象到窗口中的不同位置。我读过关于BorderLayout的文章,但我不知道如何实现它。我希望图像位于文本区域上方,但我不知道如何在对话框中进行。
我直接在相对布局中有两个线性布局。 我希望第一个LinearLayout占据75%的高度,接下来占据25%。我如何实现这一点? 例如 我希望线性布局1使用可用高度的75%,线性布局2使用25%<没有为LinearLayout定义layout_weight,因此显然它不起作用。 我有什么办法可以做到这一点吗? 这似乎是一个非常常见的场景,所以我几乎可以肯定这个问题以前被问过。 但我似乎没有找到它。请
在我的应用程序,我想有滑动菜单在左侧,就像Facebook。 在我的前一个问题中,我提出了相同的问题,感谢这个答案,我可以找到一种方法,使用这个库向右滑动我的布局。但是,我发现,库实际上并不滑动布局,相反,它只是截图并向右滑动图像,因为布局上的组件是不可点击的。我需要这些组件是可点击的。因此,我尝试了一种新的实现方法,将滑出菜单放在左侧,保持的默认可见性,并在单击左上角的“显示/隐藏菜单”按钮时使
问题内容: 我在XML中定义了以下布局: 如何使用LayoutInflater来获取ListView和ProgressBar并在代码中分配它? 问题答案: 通过这种方式:
弹性盒子(Flexible Box)是一种用于按行或按列布局元素的一维布局方法,使用该布局的组件即为弹性容器(flex container),容器内的直系子组件则是弹性项目(flex item),他们可以膨胀以填充额外的空间,收缩以适应更小的空间,它们在 CSS 属性都为初始的情况下都会有下列行为: 项目排列成一行。(容器的 flex-direction 属性的初始值是 row) 项目从主轴的起始