我正在尝试对Android XML做一些约束,这看起来非常困难和非特定。
例如:
我知道如何使用ConstraintLayout表达android XML上的平等关系。即使我仍然需要填充或边距为30的偏移量,这不是一个大问题。
但如何做更好的"关系? 我看到有一些名为" maxWidth"," maxHeight"," miniWidth"," miniHeight"。但它们不是观点之间的关系。虽然可以在真实视图之间的某些虚假视图中使用它们,但是可能可以执行更大的"。
还有其他方法可以解决吗?
答案 0 :(得分:1)
这是来自" Cassowary"的完美解决方案,虽然没有太多的明星,但我不确定性能。它基于iOS上的自动布局相同的算法。
https://github.com/alexbirkett/android-cassowary-layout http://constraints.cs.washington.edu/cassowary
https://www.youtube.com/watch?v=_FYroNxqFqo
所以,我可以以自然的方式使用大或小。它也有限制的优先权。但是,看起来没有内容拥抱和压缩优先级。
<string-array name="stairs">
<item>blue.x == 0</item>
<item>blue.y == 0</item>**strong text**
<item>blue.width == 100dp</item>
<item>blue.height == blue.width</item>
<item>green.width == blue.width</item>
<item>green.height == blue.height</item>
<item>green.x == blue.y2</item>
<item>green.y == blue.y2</item>
<item>red.width == green.width</item>
<item>red.height == green.height</item>
<item>red.x == green.x2</item>
<item>red.y == green.y2</item>
<item>container.width GEQ red.right</item>
<item>container.height GEQ red.bottom</item>
</string-array>