当宽度百分比不符合设定的约束时,如何控制它的宽度百分比?
TableLayout tlivQH = new TableLayout(1, 4);
Container body = new Container(tliv);
4个容器被初始化为:
Container c5 = new Container(tlii5);
Container c3 = new Container(tlii3);
Container c20 = new Container(tlii19);
Container c19 = new Container(tlii20);
每行的布局是:
TableLayout tlii5(and 3,19,20) = new TableLayout(12, 1);
4个容器的每一行都包含一个带标签的区域、38W、一个按钮和104W,总宽度为181。
主体被初始化为:
body.add(tlivQH.createConstraint().widthPercentage(18), c5).
add(tlivQH.createConstraint().widthPercentage(23), c3).
add(tlivQH.createConstraint().widthPercentage(23), c19).
add(tlivQH.createConstraint().widthPercentage(36), c20);
我最初将每个容器的宽度百分比设为25%,后来降至用于开发附图的18%。
这个方案只有四个象限,因此这是五种方案配置中唯一失败的一个。我无法将c5的宽度限制在低于36%,如截图中的c5宽度(615/1710)所示。
我对c5使用了Flow和 Box Layout,但c5仍然显示为36%,把c20推到表单布局中的c5下面,导致c20无法显示。若有想法,请赐教。
解决方案
请看你代码中的这一行:
TableLayout tlivQH = new TableLayout(1, 4);
Container body = new Container(tliv); // ← tliv, not tlivQH
如果 tliv 在你的实际代码中是一个不同的布局实例,例如一个不同的 TableLayout,就像内部的某一个。
子元素会回退到它们偏好的宽度,并由布局自行定位。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。
