Codenameone 多代号一CSS

Codenameone 多代号一CSS,codenameone,Codenameone,是否可以在同一个项目中使用更多的CSSE 用例1:我想在应用程序的不同部分使用不同的样式,或者我想替换所有当前样式 用例2:我希望当前的样式是从几个CSSE派生出来的,就像在一个网页中一样在集成到插件中的CSS实现中,目前不支持这种样式。旧的实现允许这样做,但我们简化了一些事情,因此转换过程将是流动的 由于多个资源文件和分层主题由Codename One内部支持,因此这可能很容易实现。我猜build.xml中类似的东西可能会起作用: <target name="-cn1-compile-c

是否可以在同一个项目中使用更多的CSSE

用例1:我想在应用程序的不同部分使用不同的样式,或者我想替换所有当前样式


用例2:我希望当前的样式是从几个CSSE派生出来的,就像在一个网页中一样

在集成到插件中的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>


是的,这是可能的。我已经在我的网站上做了。我的个人资料中暗示了它的位置。您可以加载多个样式表,或者从浏览器的“替换样式”菜单中选择它们,或者通过JavaScript样式切换来选择它们。@hellork您的注释与Codename One无关。按代号1提供的CSS支持与浏览器不同。@Francesco Hi。您是在css文件夹中添加了新的css文件,还是在单击theme.res后创建了新的主题?我试图在我的项目中实现多个css文件,但不确定要采取哪些步骤。谢谢。我正在使用多个CSSE,没有问题。将CSS文件添加到CSS文件夹,修改
build.xml
,如Shai的回答所示。编译和运行项目时,将为每个css生成一个新的.res文件,如build.xml中所指定。在main类的
init()
中,应该有一个加载多个主题的代码。我为您创建了这个示例代码:此外,请记住添加
includeNativeBool:true仅在第一个CSS上。它有效。相关问题:如何为
第二个主题.css
生成
.res
文件?上面的答案中给出了用于此操作的build.xml代码