【发布时间】:2018-02-19 18:37:30
【问题描述】:
我正在使用 GUI Builder 设计我的应用 UI。我创建了一个新表单并定义了如下样式:
FinishFlagIcon {
background-image: url(pics/FinishFlag.png);
cn1-background-type: cn1-image-scaled-fit;
cn1-source-dpi: 320;
font-size: 11.9mm;
}
我在标签上设置了这种样式,它会出现在 GUI Builder 上。
我还尝试使用 Scaled Label 并将图标定义为 FinishFlag(存在于 res 文件中),它再次出现在 GUI Builder 中但不在模拟器中。当然,控制台中没有打印错误告诉我找不到文件。
请注意:res/myCustomTheme.css 文件夹包含所有与 png 相关的子文件夹(这些子文件夹中填充了从低到高清的 png),src/theme.res 包含图片(遵循 Shai 的建议):
那么我应该怎么做才能让图片出现在模拟器中呢?
编辑:我尝试手动编写 UI 代码并将标签(上面定义的 UIID)添加到 BorderLayout 的中心区域。在标签中添加 3 个或更多空格之前,我也不会出现。我没有再次尝试使用 GUI Builder。我觉得很奇怪,是故意的吗?
2017 年 9 月 13 日编辑:如果我构建应用程序并在真正的 Android 设备上打开它,则会出现标签。
编辑 2017 年 9 月 15 日:对于遇到组件未显示问题的人,如已接受的答案中所建议,解决方案包括 删除未显示组件的顶部或底部约束并将其设置为自动(单击lock) 以便为组件提供足够的空间。所以最终在将进度条的底部约束设置为“自动”之后,标签上的预期结果会出现在模拟器上:
任何帮助表示赞赏,
【问题讨论】:
-
如果您打开 src/myCustomTheme.css 文件,并在“图像”下查看,您会在其中看到 FInishFlag.png 图像吗?
-
当我打开 /src/myCustomTheme.css.res 时,我可以看到包括 FinishFlag.png 在内的所有图像。但是如果我打开 /ser/theme.res 则 FinishFlag.png 文件不存在。然而,theme.res 中存在“工作”图像(也许我手动将它添加到 theme.res 但我不记得了)。我忘了告诉我在 theme.res 中使用了常量 OverlayThemes 来在 theme.res 之后自动加载 myCustomTheme.css。我应该删除这个常量吗?
标签: css codenameone