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 文件目录



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

 


主题之一

 



主题之二

 


主题之三






目录
相关文章
|
Linux 数据安全/隐私保护 Windows
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
4529 0
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
|
Oracle Java 关系型数据库
简单记录在Linux上安装JDK环境的步骤,以及解决运行Java程序时出现Error Could not find or load main class XXX问题
本文记录了在Linux系统上安装JDK环境的步骤,并提供了解决运行Java程序时出现的"Error Could not find or load main class XXX"问题的方案,主要是通过重新配置和刷新JDK环境变量来解决。
822 0
|
XML Android开发 数据格式
Android Studio App开发实战项目之实现淘宝电商App首页界面(附源码,可用于大作业参考)
Android Studio App开发实战项目之实现淘宝电商App首页界面(附源码,可用于大作业参考)
1535 1
|
XML Shell Linux
Windows下成功安装Repo和下载Android源码方法总结
Windows下成功安装Repo和下载Android源码方法总结
|
开发者 iOS开发
Xcode运行报错The operation couldn’t be completed. Unable to launch xxx because it has an invalid code...
Xcode运行报错The operation couldn’t be completed. Unable to launch xxx because it has an invalid code...
1304 0
|
Linux 网络安全
【Linux通用】Centos系列跳过首次登陆新建用户
【Linux通用】Centos系列跳过首次登陆新建用户
2609 0
|
12天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1273 5
|
2天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
11天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1291 87