如何使用Maven在CN1CSS主题之间切换



刚刚登陆!!在使用Maven搜索CSS主题在CSS文件之间切换的问题时,以下是我所做的,如果我忽略了什么,请保持正确:

  • 我使用我现有的主题.css,,通过Steve的帖子成功迁移到Maven

  • 以下是我在启动过程中初始化主题的方式:

    尝试{resources=resources.openLayered("/MailAngel"(;java.util.Hashtable vals=resources.getTheme(resources.getThemeResourceNames(([0](;UIManager.getInstance((.setThemeProps(vals(;

    Resources theme = Resources.openLayered( Constants.THEME_LIGHT );
    UIManager.getInstance().addThemeProps(theme.getTheme(theme.getThemeResourceNames()[0]));
    Resources.setGlobalResources(theme);
    //todo: get the device language
    initLocale();
    //init google nalytics
    //setAnalyticsService();     
    } catch (Throwable e) {
    e.printStackTrace();
    Log.e(e);
    }
    
  • 在KitchenSink演示之后,我在maven common/src/main/css文件夹下添加了一个dark-them.css,然后我执行以下代码:

    try {
    Resources resources = Resources.openLayered( "/dark-theme" );
    UIManager.getInstance().addThemeProps(resources.getTheme(resources.getThemeResourceNames()[0]));
    Display.getInstance().getCurrent().refreshTheme();
    Utility.setTheme(theme);
    } catch(IOException e){
    ComponentUtility.showStatusError("Sorry, unable to switch theme: " + e.getMessage() );
    e.printStackTrace();
    }
    
  • 以下是执行上述代码时的堆栈竞争:

    java.io.io异常:未找到/dark-theme.res网址:com.codename1.ui.util.Resources.open(Resources.java:756(网址:com.codename1.ui.util.Resources.openLayered(Resources.java:720(网址:com.codename1.ui.util.Resources.openLayered(Resources.java:684(网址:net.mailangel.pay.countains.ThemeContainer.update(ThemeContainer.java:111(在net.mailangel.pay.container.ThemeContainerLambda$getButtonContainer$0(ThemeContainer.java:58(位于com.codename1.ui.util.EventDispatcher.fireActionEvent(EventDispatcher.java:349(网址:com.codename1.ui.Button.fireActionEvent(Button.java:687(网址:com.codename1.ui.Button.released(Button.java:728(位于com.codename1.ui.Button.pointerRelease(Button.java:835(网址:com.codename1.ui.LeadUtil.pointerReleased(LeadUtil.java:153(网址:com.codename1.ui.Form.pointerReleased(Form.java:3881(位于com.codename1.ui.Component.pointerRelease(Component.java:5266(网址:com.codename1.ui.Display.handleEvent(Display.java:2409(网址:com.codename1.ui.Display.edtLoopImpl(Display.java:1285(网址:com.codename1.ui.Display.mainEDTLoop(Display.java:1203(网址:com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120(在com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176(

我的环境:Ide:Intellji Java:8 Maven:3.6.3 CN1:7.0.80

另外,请注意,build.xml在我的Maven项目中不存在!,

你能建议一下如何:吗

  • 使用基于Maven的CN项目在css主题之间成功切换
  • 使用css生成.res文件

致问候,

Maven插件还不支持编译黑暗主题。我已在https://github.com/codenameone/CodenameOne/issues/3623

最新更新