Кодовое имя один: ComponentGroupBool на Android с помощью CSS - PullRequest
0 голосов
/ 04 сентября 2018

Примечание для читателей: этот вопрос относится только к кодовому имени 1.

Следующий код отлично работает на iOS:

    ComponentGroup cmpGroup = ComponentGroup.enclose(camera, gallery);
    cmpGroup.getComponentAt(0).getAllStyles().setAlignment(Component.LEFT);
    cmpGroup.getComponentAt(1).getAllStyles().setAlignment(Component.LEFT);

с этим CSS:

#Constants {
    ComponentGroupBool: true;
    includeNativeBool: true;
    [...]
}

Проблема в том, что на Android нет эффекта. Итак, я понял, что CompontGroup UIID реализованы в собственной теме iOS, но их нет в собственной теме Android.

У меня вопрос, как заставить CompontGroup одинаково работать на iOS и Android, используя CSS.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Возможное (не идеальное по пикселям) решение на основе ответа Шая , которое дает приемлемый результат, подобный следующему:

enter image description here

Это не идеальный пиксель, потому что между GroupElementFirst и GroupElementLast есть небольшое пространство.

/* Start of ComponentGroup CSS */

GroupElementFirst {
    border-width: 0.3mm;
    border-color: gray;
    border-style: solid;
    border-top-right-radius: 3mm;
    border-top-left-radius: 3mm;
    margin: 2mm;
    margin-bottom: 0px;
    padding: 2mm;
}

GroupElementLast{
    border-width: 0.3mm;
    border-color: gray;
    border-style: solid;
    border-bottom-right-radius: 3mm;
    border-bottom-left-radius: 3mm;
    margin: 2mm;
    margin-top: 0px;
    padding: 2mm;
}

GroupElement{
    border-width: 0.3mm;
    border-color: gray;
    border-style: solid;
    margin: 2mm;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 2mm;
}

GroupElementOnly{
    border-width: 0.3mm;
    border-color: gray;
    border-style: solid;
    border-radius: 3mm;
    margin: 2mm;
    padding: 2mm;
}

ButtonGroupFirst{
    cn1-derive: GroupElementFirst;
}

ButtonGroupLast{
    cn1-derive: GroupElementLast;
}

ButtonGroup{
    cn1-derive: GroupElement;
}

ButtonGroupOnly {
    cn1-derive: GroupElementOnly;
}

/* End of ComponentGroup */
0 голосов
/ 05 сентября 2018

Вам необходимо добавить стили для GroupElementFirst, GroupElementLast, GroupElement, GroupElementOnly, ButtonGroupFirst, ButtonGroupLast, ButtonGroup, ButtonGroupOnly.

Styling ButtonGroup * позволит вам избежать стилевого выравнивания, которое есть в вашем коде.

Мы разработали режимы с прямоугольными границами сверху / снизу только для этой цели, но я не уверен, реализованы ли они в CSS. Я должен проверить это.

...