如何更改开关组件的颜色?

时间:2019-04-06 13:24:26

标签: codenameone

我想将Switch组件的拇指颜色更改为绿色,而不是标准的黑色。

根据文档“您可以直接在theme.res文件或CSS中使用样式自定义开关的外观。”和“拇指将使用Switch的Style.getFgColor()呈现。它将在“打开”位置使用选定的样式,在“关闭”位置使用未选定的样式,” https://www.codenameone.com/javadoc/com/codename1/components/Switch.html

我尝试将“ Switch”样式添加到theme.res文件。在主题预览中,我看到了更改。当我在模拟器中运行该应用程序时,没有任何变化。 我还尝试过更改代码中的样式:

 swPrdp.setUIID("Switch");

我仍然得到标准的黑色拇指。 我也尝试过:

    swPrdp.getAllStyles().setBgColor(0xcccccc, true);
    swPrdp.getSelectedStyle().setFgColor( 0x59925A, true);

带有和不带有第二个参数(true)。仍然没有变化。

我正试图将应用程序的大小保持在最小,所以我不想走指定图像的路线。

我要去哪里错了?

1 个答案:

答案 0 :(得分:0)

这也应该在主题中起作用,并在样式对象中对我有用(在此处更容易编写:

Form hi = new Form("Switch", BoxLayout.y());
Switch s = new Switch();
s.getAllStyles().setFgColor(0xff0000);
s.getAllStyles().setBgColor(0xff);
hi.add(s);

hi.show();

enter image description here