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