外观
如何使用 ConstraintSet 动态修改约束条件?其底层实现原理是什么?
标准回答
创建 ConstraintSet,先 clone 当前 ConstraintLayout 的约束,再用 connect、clear、constrainWidth 等方法修改,最后 applyTo(layout)。本质是更新各子 View 的布局约束,由后续测量和布局按新约束重新求解位置。
通俗例子
点击展开详情时,把按钮从内容下方改为贴父容器底部:复制原约束、修改连接关系、applyTo,然后重新测量和布局。
内容来源
- Android · AI Agent 知识手册 · 原条目
2.2.2