首页 > Web开发 > 详细

extjs6 desktop 桌面多主题切换

时间:2016-03-26 07:53:05      阅读:753      评论:0      收藏:0      [点我收藏+]
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 文件目录

技术分享


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

技术分享 


主题之一

技术分享 



主题之二

技术分享 


主题之三

技术分享





extjs6 desktop 桌面多主题切换

原文:http://blog.csdn.net/olinbsoft/article/details/50974244

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!