【发布时间】:2018-10-27 15:52:20
【问题描述】:
我创建了一个应用程序来测试新的 CN1 CSS 支持。
该插件很棒,一切正常且开箱即用,除了按钮上的材质图标不会随着按钮的文本颜色而改变其颜色。它只是始终保持相同的(黑色)颜色。
在使用 CSS 支持之前,我将主题编辑器的默认前景色设置更改为材质图标,但现在主题编辑器似乎与样式分离,不再有任何效果。
是否有图标的 UIID 或任何其他方式来更改材质图标的颜色?
这是我的代码:
FontImage icon = FontImage.createMaterial(FontImage.MATERIAL_CHECK, "TitleCommand", 3);
Button buttonTest = new Button("Test css");
buttonTest.setUIID("ButtonTest");
buttonTest.setIcon(icon);
还有 CSS:
ButtonTest {
color: red;
}
【问题讨论】:
-
FontImage在创建过程中根据当前样式创建图像。一旦创建,即使您在事后更改样式,图标也不会改变。这有优点也有缺点。我们添加了一个setMaterialIcon()方法来标记。我正在考虑让它表现得像这样的选项,以便它随着主题的变化而更新 -
谢,谢谢你的回复。我经常使用并且喜欢材质图标,我发现不能影响颜色是一个缺点,因为从布局的角度来看,它会以某种方式扭曲屏幕外观的和谐,并且您仅限于您选择的颜色在项目开始时。当然,您知道什么最适合您的产品。你提到的优点是什么?我也找不到标签的 setMaterialIcon() 方法。
-
您需要更新库才能获得该方法。这不是一个缺点,因为常规图标也不会改变它们的颜色。只有在动态更改主题时才会看到这一点,但对于大多数不会发生的应用程序。
标签: css codenameone