如何更改主题中特定 UIID 的背景颜色,并且从该特定 UIID 派生的所有 UIID 也会更改?

问题描述 投票:0回答:1

我的 cn1 项目有一个主题。我想为我的用户提供颜色样式选择。 我的项目中只有一个主题文件。

如何更改主题文件中特定 UIID 的背景颜色,并且从该特定 UIID 派生的所有 UIID 也在运行时更改?

因此具有 UIID 的 UI 组件也会自动更改背景颜色。

codenameone
1个回答
0
投票

你不能在运行时这样做。您可以使用常量来应用颜色更改并影响继承,但 Codename One 中的 CSS 是编译时功能而不是运行时功能。继承是在主题加载过程中实现的,因此不会应用运行时更改。

话虽如此,您可以做一些修改。 CSS 将产生一个主题

Hashtable
(是的,它就是那个旧的哈希表,因为该 API 最初设计为在 J2ME 设备上运行)。这个哈希表仍然具有继承的概念,因此如果您修改它并通过那里应用主题,它应该可以工作。

请参阅这个问题,了解有关操纵主题的讨论。它用于字体,但颜色只是一个

Integer
RGB 对象。

© www.soinside.com 2019 - 2024. All rights reserved.