【问题标题】:Multiple Codename One CSS多代号一CSS
【发布时间】:2019-04-28 01:25:49
【问题描述】:

是否可以在同一个 Codename One 项目中使用更多的 CSS?

用例 1:我想在应用的不同部分使用不同的样式,或者我想完全替换当前的样式。

用例 2:我希望当前样式来自多个 CSS,例如在网页中

【问题讨论】:

  • 是的,有可能。我已经在我的网站上完成了。我的个人资料中暗示了它的位置。您可以加载多个样式表,然后从浏览器的备用样式菜单中选择它们,或者通过 JavaScript 样式切换。
  • @hellork 您的评论与代号一无关。 Codename One 对 CSS 的支持不同于浏览器。
  • @Francesco 嗨。您是在 css 文件夹中添加了新的 css 文件,还是在单击 theme.res 后创建了新主题?我也在尝试在我的项目中实现多个 css 文件,但不确定要采取哪些步骤。谢谢。
  • 我使用多个 CSS 没有问题。将 CSS 文件添加到 css 文件夹中,修改 build.xml ,如 Shai 的回答。当您编译并运行项目时,对于每个 css,它将生成一个新的 .res 文件,如 build.xml 中所指定。在主类的init() 中,您应该有一个代码来加载多个主题。我为您创建了这个示例代码:gist.github.com/jsfan3/b001fdfa07a1a5a93600960ce1171e5f
  • 此外,请记住仅在第一个 CSS 上添加 includeNativeBool: true;

标签: codenameone


【解决方案1】:

目前在集成到插件中的 CSS 实现中不支持该功能。旧的实现允许这样做,但我们简化了一些事情,因此转换过程将是流畅的。

由于 Codename One 在内部支持多个资源文件和分层主题,这应该很容易实现。我猜build.xml 中的类似内容可能会起作用:

<target name="-cn1-compile-css" if="codename1.cssTheme">
        <java jar="${user.home}/.codenameone/designer_1.jar" failonerror="true">
            <jvmarg value="-Dcli=true"/>
            <arg value="-css"/>
            <arg file="css/theme.css"/>
            <arg file="src/theme.res"/>
        </java>
        <java jar="${user.home}/.codenameone/designer_1.jar" failonerror="true">
            <jvmarg value="-Dcli=true"/>
            <arg value="-css"/>
            <arg file="css/second-theme.css"/>
            <arg file="src/second-theme.res"/>
        </java>
    </target>
</project>

【讨论】:

猜你喜欢
  • 2020-07-12
  • 2016-12-18
  • 1970-01-01
  • 2020-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-27
  • 2013-02-27
  • 1970-01-01
相关资源
最近更新 更多