如何使一个Widget
对同一容器中的另外两个Column
具有约束(Column
/Row
)?
这是设计列表项时非常常见的情况。UI应该是可伸缩的(例如当最终用户手动增加字体大小时)。
我不接受任何硬编码数字的答案。只是逻辑链接。我也不接受任何第三方解决方案的答案。
以下是UI规范:
因此,要求如下:
Text
可缩放小部件是主小部件,Icon
通过将其垂直居中而受到约束- 同时,底部文本的起始左边缘被约束为
Text
左边缘
这是非常简单的解决与ConstraintLayout
在Android.
1条答案
按热度按时间vzgqcmou1#
在@pskink的帮助下,我尝试使用
CustomMultiChildLayout
。这不是一个简单的API,因为它直接与Size
一起工作。因此,为了补偿文本可能增加高度(或跨越多行)的事实,我起草了以下解决方案:(The
Bottom Text
已替换为Button Bar
,但在布局同级Widget
方面的要求相同)文本大于图标时的结果:
文本小于图标时的结果:
下面是代码:
识别号:
LayoutDelegate
:最后一点-当开发人员仍然需要通过变量计算大小并使用它们进行定位时,它并不是一个简单的API。