我在显示标签正确对齐时出现问题。请指教请查看截图和代码。右侧截图指的是android设备是正确的显示方式,并从iphone中留下一个。
代码:
Container table = new Container(new TableLayout(6, 2));
Label firstNameLbl = new Label("First Name ");
firstNameLbl.setUIID("StringLbl");
table.add(firstNameLbl).add(givenName);
Label lastNameLbl = new Label("Last Name ");
lastNameLbl.setUIID("StringLbl");
table.add(lastNameLbl).add(surname);
Label refNumberLbl = new Label("Ref. Number ");
refNumberLbl.setUIID("StringLbl");
table.add(refNumberLbl).add(refnum);
Label cellPhoneLbl = new Label("Cell Phone ");
cellPhoneLbl.setUIID("StringLbl");
Label homePhoneLbl = new Label("Home Phone ");
homePhoneLbl.setUIID("StringLbl");
Label workPhoneLbl = new Label("Work Phone ");
workPhoneLbl.setUIID("StringLbl");
SpanLabel cellPhoneSpan = new SpanLabel(cellPhone);
cellPhoneSpan.setUIID("SpanLabel");
SpanLabel homePhoneSpan = new SpanLabel(homePhone);
homePhoneSpan.setUIID("SpanLabel");
SpanLabel workPhoneSpan = new SpanLabel(workPhone);
workPhoneSpan.setUIID("SpanLabel");
table.add(cellPhoneLbl).add(cellPhoneSpan).add(homePhoneLbl).
add(homePhoneSpan).add(workPhoneLbl).add(workPhoneSpan);
setSameHeight(cellPhoneLbl, cellPhoneSpan, homePhoneLbl, homePhoneSpan, workPhoneLbl, workPhoneSpan);
答案 0 :(得分:1)
尝试这样的事情:
cellPhoneSpan.setUIID("Container");
cellPhoneSpan.setTextUIID("StringLbl");
SpanLabel
有点复杂,所以你可能会无意中双重填充这个类。 SpanLabel
实际上是Container
,其TextArea
样式看起来像Label
。因此,您可能会从外部Container
和内部TextArea
填充。
使用您可以在模拟器中启动的Component Inspector
工具很容易发现这些内容。您可以查看层次结构并查看树中每个组件的UIID,填充,边距等。
答案 1 :(得分:0)
我建议您使用故事板进行UI。但如果不是选项。尝试可视化布局。或者为每个字段设置背景颜色。我怀疑是Work标签中的一个是顶部对齐但是span标签是底部对齐的。纠正对齐应该可以解决你所面临的问题。