【翻译】Ext JS 5:为不同设备设置不同的主题

时间:2021-08-04 22:21:02

原文:Sencha Ext JS 5: Supporting Different Themes for Different Devices

Sencha Ext JS 5是第一个完全支持iOS平板的Ext框架。

为应用程序添加平板支持,并能根据使用的设备自动切换桌面或基于触碰的主题(CSS文件)可能是相当重要的任务。

本教程将演示如何将该功能添加到应用程序。

步骤1:创建一个应用程序

  1. 在Ext JS 5文件夹打开命令行提示符
  2. 运行以下命令:

    sencha generate app TestApp ../TestApp

步骤2:定义主题

  1. 在命令行提示符切换到TestApp目录
  2. 运行以下命令
    1. sencha generate theme TestApp-Desktop(注:为桌面创建主题)
    2. sencha generate theme TestApp-Tablet(注:为平板创建主题)
  3. 在编辑器打开 /TestApp/packages/TestApp-Desktop/package.json
  4. 修改“extend”属性为“extend ext-theme-neptune”
  5. 保存文件
  6. 在编辑器打开/TestApp/packages/TestApp-Tablet/package.json
  7. 将“extend”属性从ext-theme-classic修改ext-theme-neptune-touch

步骤3:编辑App.json文件以便支持多平台生成

  1. 在编辑器打开 /TestApp/app.json
  2. 添加“builds”属性作为指示:
"builds": {
"testAppDesktop": {
"theme": "TestApp-Desktop"
},
"testAppTouch": {
"theme": "TestApp-Tablet"
}
}

步骤4:编辑output定义以便创建多个应用程序的manifests

使用以下代码替换app.json中的output配置:

"output": {
"base": "${workspace.build.dir}/${build.environment}/${app.name}/${build.id}",
"page": "./index.html",
"manifest": "../${build.id}.json",
"deltas": {
"enable": false
},
"cache": {
"enable": false
}
}

步骤5:更新应用程序

返回命令行提示符,输入以下命令:

sencha app refresh

这将生产manifest文件:testAppDesktop.json和testAppTouch.json

步骤6:替换App.json中的CSS配置

使用以下代码替换App.json中的css配置:

"css": [{
"path": "${build.out.css.dir}/TestApp-all.css",
"bootstrap": true
}]

步骤7:替换bootstrap属性以便加载appropriate manifest文件

"bootstrap": {
"manifest": "${build.id}.json"
}

步骤8:在index.html文件中,在微加载之上,添加以下代码到一个script标记中,以加载appropriate manifest:

var Ext = Ext || {};
Ext.beforeLoad = function(tags){
var theme = location.href.match(/theme=([\w-]+)/);
theme = (theme && theme[1]) || (tags.desktop ? 'testAppDesktop' : 'testAppTouch'); Ext.manifest = theme;
tags.test = /testMode=true/.test(location.search);
Ext.microloaderTags = tags;
};

步骤9:生成应用程序

返回命令行提示符并输入以下命令:

sencha app build development

步骤10:在桌面或移动设备浏览器上测试应用程序

【翻译】Ext JS 5:为不同设备设置不同的主题的更多相关文章

  1. Ext JS 6学习文档-第8章-主题和响应式设计

    Ext JS 6学习文档-第8章-主题和响应式设计 主题和响应式设计 本章重点在 ExtJS 应用的主题和响应式设计.主要有以下几点内容: SASS 介绍和入门 主题 响应式设计 SASS 介绍和入门 ...

  2. [ExtJS5学习笔记]第二十九节 sencha ext js 5.1.0中动态更换皮肤主题

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/42016107 本文作者:sushengmiyan ------------------ ...

  3. 【翻译】如何创建Ext JS暗黑主题之一

    原文:How to Create a Dark Ext JS Theme– Part 1 概述 我是不是都要演示我的Spotifinder Ext JS应用程序.它是一个很酷的应用程序,可连接到Las ...

  4. 【翻译】针对多种设备定制Ext JS 5应用程序

    原文:Tailoring Your Ext JS 5 Application for a Multi-Device World 概述 鉴于当今设备和表单因素的扩散,要针对所有这些可能性来优化应用程序已 ...

  5. 【转载】《Ext JS 4 First Look》翻译之一:新特性

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:^_^肥仔John      原文地址:http://www.cnblogs. ...

  6. 【翻译】探究Ext JS 5和Sencha Touch的布局系统

    原文:Exploring the Layout System in Ext JS 5 and Sencha Touch 布局系统是Sencha框架中最强大和最有特色的一个部分. 布局要处理应用程序中每 ...

  7. 【翻译】Ext JS 6.2 早期访问版本发布

    原文:Announcing Ext JS 6.2 Early Access 非常开心,Sencha Ext JS 6.2早期访问版本今天发布了.早期访问版本的主要目的是为了让大家进行测试并评估Ext ...

  8. 【翻译】Ext JS 6有什么新东西?

    工具包ToolKits 发布 包的命名 Fashion 图表 ItemEdit插件 网格 电子表格 可操作模式Actionable Mode和可访问性 LazyItems插件 屏幕阅读器支持可访问性 ...

  9. 【翻译】使用Ext JS设计响应式应用程序

    原文:Designing Responsive Applications with Ext JS 在当今这个时代,用户都希望Web应用程序无论在形状还是大小上,既能在桌面电脑,也能在移动设备上使用.使 ...

随机推荐

  1. mac的webdriver自动化

    下载webdriver-chrome的连接:http://chromedriver.storage.googleapis.com/index.html

  2. Codeforces Round #215 (Div. 2) A. Sereja and Coat Rack

    #include <iostream> #include <vector> #include <algorithm> using namespace std; in ...

  3. oracle 查看用户表数目,表大小,视图数目等

    查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * fr ...

  4. 查看mysql apache php nginx的编译参数

    查看mysql编译参数: cat /usr/local/mysql/bin/mysqlbug|grep configure 查看apache编译参数: cat /usr/local/apache2/b ...

  5. VS2010中添加dll目录

    RT,比如用VS写QT,用qmake生成的项目,需要在项目属性里设置:调试->环境,path=%path%;C:\Qt\4.8.5\bin 这样省的每次都要把一堆dll复制到debug/rele ...

  6. Delphi 常用函数&lpar;数学函数)round、trunc、ceil和floor

    源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...

  7. js跳转页面的几种方式

    第一种: window.location.href="http://www.baidu.com"; 第二种: window.history.back(-1); 第三种: windo ...

  8. JAVA API的下载和中文查看API

    一.JAVA API的下载 1.1 JAVA由SUN公司开发,2006年SUN公司宣布将Java技术作为免费软件对外发布,标志着JAVA的公开免费.2009年,SUN公司被甲骨文公司收购,因此我们现在 ...

  9. transaction注解分析

    1. Spring事务的基本原理 事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编码式和声明式的两种方式.编程式事务指的是通过编码方 ...

  10. &lbrack;搜狐科技&rsqb;由浅入深理解Raft协议

    由浅入深理解Raft协议 2017-10-16 12:12操作系统/设计 0 - Raft协议和Paxos的因缘 读过Raft论文<In Search of an Understandable ...