如何设置单选按钮控件的颜色?



如何设置单选按钮控件的颜色?无论我在样式中指定什么颜色,它都会用黑色绘制外圆和内项目符号。我希望它在黑色背景上以白色绘制,以匹配我的主题,但它总是以黑色绘制。(我实际上是在一个多按钮中完成的,设置徽章UIID的颜色。)


我尝试了第一个建议,定义常量。那没用。事情是这样的。

我试了两种方法。首先,我只定义了radioSelectedImage和radioUnselectedImage。当这不起作用时,我添加了两个radio*DisImage值,但它做了同样的事情。选中和未选中的图像都很好,但我一触摸单选按钮,它就得到了焦点,按钮被画成了黑色,这使得它在我的黑色背景下看不见。

我确实找到了一种有效的方法,但它需要使用两个不推荐使用的类。以下是我在主类的init()方法中添加的内容:

    LookAndFeel lookAndFeel = UIManager.getInstance().getLookAndFeel();
    if (lookAndFeel instanceof DefaultLookAndFeel) {
        DefaultLookAndFeel defaultLookAndFeel = (DefaultLookAndFeel) lookAndFeel;
        Image sel = theme.getImage("RadioButtonSelected.png");
        Image unSel = theme.getImage("RadioButtonUnselected.png");
        defaultLookAndFeel.setRadioButtonImages(sel, unSel, sel, unSel);
        defaultLookAndFeel.setRadioButtonFocusImages(sel, unSel, sel, unSel);
    }

这里的区别在于,我有一种设置焦点图像的方法。我不能用常量来做这件事,这可能就是它不起作用的原因。我真的不想使用不推荐使用的类。

有一些主题常量允许您将图像添加到单选按钮中,用于未选择、已选择等。请查看此处。。。

https://www.codenameone.com/manual/advanced-theming.html

最新更新