如何设置单选按钮控件的颜色?
How do I set the color of the radio button's control?
如何设置单选按钮控件的颜色?无论我在样式中指定什么颜色,它都会以黑色绘制外圆和内子弹。我希望它在黑色背景上以白色绘制以匹配我的主题,但它始终以黑色绘制。 (我实际上是在多按钮中执行此操作,设置标志 UIID 的颜色。)
我尝试了第一个建议,定义常量。那没有用。事情是这样的。
我尝试了两种方法。首先,我只定义了 radioSelectedImage 和 radioUnselectedImage。当这不起作用时,我添加了两个 radio*DisImage 值,但它做了同样的事情。选中和未选中的图像工作正常,但只要我触摸一个单选按钮,它就会获得焦点,并且按钮被绘制成黑色,这使得它在我的黑色背景下不可见。
我确实找到了一种有效的方法,但它需要使用两个已弃用的 classes。这是我添加到 main class:
的 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);
}
这里的区别是我有办法设置焦点图像。我不能使用常量来做到这一点,这可能就是它不起作用的原因。我真的不想使用已弃用的 classes.
有主题常量允许您将图像添加到单选按钮以用于未选中、选中等。看这里...
如何设置单选按钮控件的颜色?无论我在样式中指定什么颜色,它都会以黑色绘制外圆和内子弹。我希望它在黑色背景上以白色绘制以匹配我的主题,但它始终以黑色绘制。 (我实际上是在多按钮中执行此操作,设置标志 UIID 的颜色。)
我尝试了第一个建议,定义常量。那没有用。事情是这样的。
我尝试了两种方法。首先,我只定义了 radioSelectedImage 和 radioUnselectedImage。当这不起作用时,我添加了两个 radio*DisImage 值,但它做了同样的事情。选中和未选中的图像工作正常,但只要我触摸一个单选按钮,它就会获得焦点,并且按钮被绘制成黑色,这使得它在我的黑色背景下不可见。
我确实找到了一种有效的方法,但它需要使用两个已弃用的 classes。这是我添加到 main class:
的 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);
}
这里的区别是我有办法设置焦点图像。我不能使用常量来做到这一点,这可能就是它不起作用的原因。我真的不想使用已弃用的 classes.
有主题常量允许您将图像添加到单选按钮以用于未选中、选中等。看这里...