再会,
我需要显示一个保真卡列表,一张在其他卡上,边距很小,点击它时,它会在滑动时完全显示它。
在一个片段中,我ConstraintLayout
在屏幕中的某个地方使用了一个由代码填充的。我将所有子项(在 WS 调用后总称为)添加到 ConstraintLayout,然后我ConstraintSet
用来设置初始约束。
但是在最初的片段创建时,我发现我必须在种群之间应用 TimeOutConstraintLayout
并创建Constraints
(恶心,对吗?)
添加每张卡...
val card = FrequencyCardView()
fid_card_container.addView(card as View)
listCard.add(card)
然后创建约束:
val set = ConstraintSet()
val containerId = fid_card_container.id
set.clone(fid_card_container)
listCard.forEachIndexed { index, card ->
val marginTop = when (index) {
0 -> 0
else -> (listCard[index -1] as ViewGroup).height / 4
}
val rootId = if (index == 0) containerId else (index - 1)
set.connect(card.getId(), TOP, rootId, TOP, marginTop)
set.connect(card.getId(), ConstraintSet.START, containerId, ConstraintSet.START, 0)
set.connect(card.getId(), ConstraintSet.END, containerId, ConstraintSet.END, 0)
card.setOpen(false)
}
// Apply the changes
set.applyTo(fid_card_container)
任何想法,为什么我需要在将 Childs 添加到 ConstraintLayout 然后添加约束之间应用任何超时?
任何更好的解决方案,这个丑陋的超时?谢谢