1

如何制作具有透明背景的图像按钮?

默认背景为灰色,我创建了带有空文本和 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 / 源代码中弄清楚如何使按钮透明。

非常感谢任何帮助/提示。

4

1 回答 1

2

你想用Style.BACKGROUND.

如果您希望整个 UI 中的所有按钮都具有空白背景,请像这样配置您的根样式表:

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 定义了按钮的背景。如果您从一个完全空白的样式表开始,您可以省略按钮的背景定义,它们将是空白的。

于 2012-02-12T00:41:10.427 回答