extjs6 desktop 桌面多主题切换

简介: extjs6 desktop想实现多主题切换,因为项目要编译,不像extjs4一样方便的切换主题,采用Ext.util.CSS.swapStyleShee的API进行切换主题,虽然可以无刷新即时切换,但有原主题残留,导致多主题叠加的现象,效果并不理想,因此,找到以下方法实现切换。
extjs6 desktop想实现多主题切换,因为项目要编译,不像extjs4一样方便的切换主题,采用Ext.util.CSS.swapStyleShee的API进行切换主题,虽然可以无刷新即时切换,但有原主题残留,导致多主题叠加的现象,效果并不理想,因此,找到以下方法实现切换。
1.修改项目根目录下的 app.json文件, 找到 "theme": "theme-crisp",一节,改为其它主题,比如 "theme": "theme-triton",
2.在cmd下用命令 sencha app build production编译项目
3.转到目录 \build\production\desktop\resources  把Desktop-all.css,Desktop-all_1.css,Desktop-all_2.css 把文件名分别改为:Desktop-all-triton.css,Desktop-all_1-triton.css,Desktop-all_2-triton.css
4. 在记事本修改Desktop-all-triton.css文件 内容中包含的文件名相应的修改
5. 转到 \build\production\desktop目录 改名app.json 改为 triton.json
6. 换为另外一种主题 如"theme": "theme-aria", 重复1-5步骤 直至所有主题生成完毕
7. 修改\build\production\desktop目录下的index.html  找到 Ext.manifest=Ext.manifest||"app.json"; 语句 替换为 var t=location.href.match(/theme=([\w-]+)/);t=(t&&t[1])||'app';Ext.manifest=Ext.manifest||(t+'.json');
即根据URL参数决定使用哪一个上述生成的json文件,进而导入不同的css文件,从而实现导入不同主题。

8.可以在系统中增加主题切换选择菜单,根据选择项修改url地址栏参数,实现刷新切换主题


Demo  http://demo.linbsoft.com/ext6desktop


生成的json文件

 


css 文件目录



主题选择界面,参照背景选择界面设计

 


主题之一

 



主题之二

 


主题之三






目录
相关文章
|
6月前
|
JavaScript 前端开发 Windows
jQuery的ztree仿windows文件新建和拖拽效果
jQuery的ztree仿windows文件新建和拖拽效果
35 0
|
6月前
|
前端开发 搜索推荐
typora 基本使用和更换typora的主题样式
typora 基本使用和更换typora的主题样式
63 0
|
JavaScript 前端开发
js实现仿桌面右键,出现右键菜单功能
javascript有右键事件,可以利用这个事件,实现右键菜单功能。 喜欢点个赞。转发备注出处。
4671 0
js实现仿桌面右键,出现右键菜单功能
|
API
uwp 获取系统字体库
原文:uwp 获取系统字体库 效果图:   要获取到字体库首先要在 NuGet 添加 SharpDx.Direct2D1  api: /// /// 获取系统字体库列表 /// public void GetFontLibrary() { SharpDX.
1096 0
|
JavaScript 前端开发
|
Web App开发 JavaScript Apache
Sencha extjs 的安装
delphi 的母公司Idera 突然就把sencha extjs 收购了,这确实是一个很好的消息,意味着delphi 开始在web方面开始发力, 目前delphi 集成extjs 的呼声越来越强烈,emb 官方也在开始做这一方面的工作。
1716 0
|
JavaScript 前端开发 内存技术