На iPhone и iPad этикетка и SpanLabel не выровнены должным образом (небольшая разница) - PullRequest
0 голосов
/ 12 июня 2018

У меня проблемы с отображением меток, выровненных правильно.Пожалуйста, посоветуйте, пожалуйста, найдите скриншоты и код.Снимок экрана справа означает, что устройство 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);  

Снимок экрана Android Android screenshot Снимок экрана iPhone iPhone Screenshot

iphone screenshot Android Screenshot

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Попробуйте что-то вроде этого:

cellPhoneSpan.setUIID("Container");
cellPhoneSpan.setTextUIID("StringLbl");

SpanLabel немного сложнее, поэтому возможно, что вы дважды случайно добавили этот класс.SpanLabel - это, по сути, Container, стиль которого TextArea выглядит как Label.Таким образом, вы можете получить заполнение как от внешнего Container, так и от внутреннего TextArea.

Эти вещи легко обнаружить с помощью инструмента Component Inspector, который вы можете запустить в симуляторе.Вы можете просмотреть иерархию и увидеть UIID, отступы, поля и т. Д. Каждого компонента в дереве.

0 голосов
/ 12 июня 2018

Я бы предложил вам использовать раскадровку для пользовательского интерфейса.Но в случае, если это не вариант.Попробуйте визуализировать макет.или установив цвет фона для каждого поля.Я подозреваю, что одна из меток рабочего телефона выровнена по верху, а метка диапазона - по нижнему краю.исправление выравнивания должно исправить проблему, с которой вы столкнулись.

...