Кнопка Tripleplay: кнопка изображения с прозрачным фоном

Как сделать кнопку с прозрачным фоном?

Фон по умолчанию серого цвета, я создал кнопку с пустым текстом и setIcon, что-то вроде этого:

    backButton = new Button(); //"Back");
    backButton.setIcon(backIcon);

    iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer).
            setStyles(make(VALIGN.top, HALIGN.right)).
            setBounds(0, 0, width, height).
            add(backButton);

Но не смог понять, как сделать кнопку прозрачной из API / исходного кода.

Любая помощь / подсказка с благодарностью.

1 ответ

Вы хотите использовать Style.BACKGROUND,

Если вы хотите, чтобы все кнопки во всем пользовательском интерфейсе имели пустой фон, настройте корневую таблицу стилей следующим образом:

Stylesheet ROOT = SimpleStyles.newSheetBuilder().
 add(Button.class, Styles.none().
   add(Style.BACKGROUND.is(new NullBackground())).
   addSelected(Style.BACKGROUND.is(new NullBackground()))).
 create();

Root root = iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer).etc().

Если вы просто хотите, чтобы конкретная кнопка имела пустой фон, настройте ее на кнопке:

Styles blankBg = Styles.none().
   add(Style.BACKGROUND.is(new NullBackground()))
   addSelected(Style.BACKGROUND.is(new NullBackground());

Button backButton = new Button().addStyles(blankBg).setIcon(backIcon);

Также обратите внимание, что SimpleStyles определяет фон для кнопок. Если вы начинаете с полностью пустой таблицы стилей, вы можете опустить определения фона для ваших кнопок, и они будут пустыми.

Другие вопросы по тегам