在同一Codename One项目中使用更多的CSS是可行的吗?
用例1:我想在应用程序的不同部分使用不同的样式,或者我想完全替换当前的样式。
用例2:我希望当前的样式来自几个CSS,就像在网页中一样。
在同一Codename One项目中使用更多的CSS是可行的吗?
用例1:我想在应用程序的不同部分使用不同的样式,或者我想完全替换当前的样式。
用例2:我希望当前的样式来自几个CSS,就像在网页中一样。
在插件集成的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>
second-themes.css
生成一个 .res
文件? - app-dev
build.xml
。当您编译和运行项目时,每个CSS都会生成一个新的.res文件,如build.xml中所指定的那样。在主类的init()
中,您应该有一个加载多个主题的代码。我为您创建了这个示例代码:https://gist.github.com/jsfan3/b001fdfa07a1a5a93600960ce1171e5f - Francesco GalganiincludeNativeBool: true;
。 - Francesco Galgani