在升级到最新版Maven后,默认主题颜色(标题/按钮)发生了变化
我把一个较旧的Codename One项目升级到最新的CN1 Maven版本(7.0.255)。构建成功,运行也很顺利,但我发现模拟器以及在Android和 iOS设备上的若干组件的默认配色发生了变化。
具体来说,头部文本(使用默认的 Title UIID)现在缺失/不可见(很可能与背景融为一体),默认的 Button 背景/前景颜色也已切换到另一种配色方案。
在我的 theme.res 里通过设计器明确设置的自定义颜色仍然是正确的。只有那些依赖Codename One默认样式的组件发生了变化。
我的问题是:
- 底层基础主题(例如Material Design的默认设置或iOS本地主题)最近是否有更新,导致默认UIID的这种变化?
- 是否存在可设置的特定构建提示或主题常量(例如
includeNativeBool),以便轻松回滚到旧版默认颜色方案? - 或者唯一推荐的前进路径是不是要在我的
theme.res设计文件中手动明确定义Title和Button的前景色/背景颜色?
对于恢复旧默认布局的最简洁做法,任何指导都将不胜感激!
解决方案
新的initializr模板带来一些默认值,与原始设置不同,旨在让代码保持在更现代的设置上。其中之一是在新下载的项目中默认启用的新现代主题(Liquid glass和 Material 3)。
如果你打开 codenameone_settings.properties,你将看到:
codename1.arg.nativeTheme=modern
codename1.arg.ios.themeMode=modern
将它们改为:
codename1.arg.nativeTheme=auto
codename1.arg.ios.themeMode=auto
这将回退到旧主题。这一点在 开发者指南 中有讨论。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。