android - 想要在 Constraintlayout 中更改条件时更改按钮位置
问题描述
这是我的布局
我知道如何使用约束布局来设计它并在运行时添加约束。
在下图中,我想在运行时更改选定的图标意味着如果我打开开关,两个左图标都应该在右侧,两个右图标都应该在左边。
如果我关闭,那么应该会发生相反的情况。
现在,我知道我们可以使用运行时约束来做到这一点,但我只想知道是否可以直接在 layout(xml) 文件中做到这一点?
解决方案
如果您实现dataBinding,则可以将参数传递给 XML,并使您的布局根据这些参数进行行为。因此,例如,您将布尔值传递给 xml,并且在元素约束上,您可以定义不同的行为,例如:
<layout>
<data>
<variable name="example" type="Boolean"/>
</data>
<Constraint element
top_constraint="@{(example) ? "constraint_a" : "constraint_b"}
/>
</layout>
因此,您无需以编程方式更改所有布局,而是根据单个布尔值设置约束。
您可以在此处更好地了解 dataBinding Android Data Binding
推荐阅读
- grails - 表达式编解码器(grails.views.gsp.codecs.expression)似乎在部署的war文件中被忽略了
- flipboard - Flipboard 未获取帖子特色图片
- javascript - Vue中get API获取数据后如何随机渲染产品?
- regex - Perl - 未初始化的变量警告
- r - R:如何更改具有负面条件的所有值
- python - 使用自定义 QSurfaceFormat 时出现 PySide2 OpenGL 错误
- cognos - 在 Cognos 11 中隐藏交叉表节点
- python - 在 RDD 元素上评估 pyspark 中的 Xquery
- odoo - 将应用程序发布到 odoo.com 网站时面临问题
- git - 有没有办法从某个路径查找 git 分支中更改的所有文件?