Set BgColor Codename Один не работает

AOUADI Slim спросил: 28 марта 2018 в 04:48 в: codenameone

Я хочу добавить цвет фона в свой контейнер, я все пробовал, но он не работает, я не знал, почему

 Container c2 = new Container(BoxLayout.y());    for (int i = 0; i < lis.size(); i++) {
        Container c1 = new Container(BoxLayout.y());        ImageViewer iv = new ImageViewer();        iv.setImage(Image.createImage("/" + lis.get(i).getImage()).scaledHeight(100).scaledWidth(100));
        c1.add(iv);
        c1.add(new Label(lis.get(i).getNom()));        c1.getUnselectedStyle().setBorder(Border.createLineBorder(5));
        c1.getStyle().setBgColor(0xC40C0C);        c2.add(c1);    }
    f.add(c2);

1 ответ

Shai Almog ответил: 28 марта 2018 в 02:26

Граница переопределяет цвет фона, который может повлиять на фон. Также вам нужно будет установить прозрачность фона, которая в контейнере равна 0, например:

c1.getUnselectedStyle().setBgTransparency(255);

Я бы предложил сделать это в CSS или в конструкторе, определив UIID в соответствии с вашим желанием. затем примените это с помощью c1.setUIID("MyStyledBackground");.

Вы можете создать рамку поверх цвета, вложив контейнеры.

AOUADI Slim ответил: 29 марта 2018 в 01:07
Можете ли вы, пожалуйста, просто показать мне, где я могу установить UIID в теме. Я искал его, но не нашел его, и если вы можете, пожалуйста, объясните мне, почему мы устанавливаем UIID, как в вашем примере c1.setUIID ("MyStyledBackground"), а затем мы будем использовать этот "MyStyledBackground", или было бы разумно указать, что только этот контейнер имеет specefics css
Shai Almog ответил: 29 марта 2018 в 01:24
Вы смотрели на тематику, как мне видео? codenameone.com/how-do-i---create-a-simple-theme.html