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

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

  • 步骤1创建一个应用程序
  • 步骤2定义主题
  • 步骤3编辑Appjson文件以便支持多平台生成
  • 步骤4编辑output定义以便创建多个应用程序的manifests
  • 步骤5更新应用程序
  • 步骤6替换Appjson中的CSS配置
  • 步骤7替换bootstrap属性以便加载appropriate manifest文件
  • 步骤8在indexhtml文件中在微加载之上添加以下代码到一个script标记中以加载appropriate manifest
  • 步骤9生成应用程序
  • 步骤10在桌面或移动设备浏览器上测试应用程序

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:在桌面或移动设备浏览器上测试应用程序

转载于:https://www.cnblogs.com/muyuge/p/6333637.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业4.0:数字化供应链的三个方向

来源:资本实验室席卷全球的工业4.0革命几乎影响着每一个行业,包括各行业的供应链管理。在过去,供应链管理是令各行业都非常头疼的环节,因为传统供应链涉及大量模糊且无法访问的数据,就像”黑洞“一样吞噬着成本、时间与…

有效学习

怎样算有效学习? 记得有位大咖说过,‘当你把受过的教育都忘记了,剩下的就是教育’(度娘说是爱因斯坦说的,此处未经考证)。 学习可以看成是一个把知识放入潜意识的过程。所谓进入潜意识,是指当…

如果机器能帮我们学习,那么有多少东西能够被遗忘?

来源:原理在我还是个学生时的遥远年代,大多数计算机都还是体型巨大的机器。当时我有一个朋友,他的博士导师坚持让他对一个冗长又困难的原子理论进行手写计算。他用掉了一页又一页的草稿纸,上面充满了错误。于是最终他屈服于自己的…

如何通俗理解计算机视觉、计算机图形、图像处理之间的区别与联系

这三者之间联系和区别可以通过下图表示, 左边的图片表示实际景物,右边图片表示实际景物对应的图片。 1、计算机图形 计算机图形技术常用于计算机生成图形。该技术常用的领域有: a.动漫 b.游戏 c.计算机辅助设计(CAD)…

Android(java)学习笔记27:TextView属性大全

TextView属性大全: android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果&#xff…

日本电信企业5G部署计划 限制了华为中兴设备的使用

来源:OFweek电子工程据外媒报道,日本监管机构日前正式向日本电信企业分配5G频谱,而这也正是日本在来年春季推出高速无线服务(5G)的一个重要里程碑。日本三大运营商NTT Docomo、KDDI和软银,以及新进入者Rakuten Inc,都获…

Python安装工具包踩过的坑

1、背景介绍 重装win10系统,重装Python。在坑出现之前,已经完成了Python的安装(D盘),并且在系统中添加了环境变量。由于平时需要用到Python2.7和Python3.6,这里将对应的解释器分别改名为Python2和Python3。…

C#实验——Problem Statement

Revision History Date Issue Description Author 17/May/2015 Windows Phone8.1 APP Have some ideas, then developing Windows Phone app 魏 潇 18/May/2015 Windows8.1 APP Transform the phone app to the Windows Store 8.1 platform 19…

物联网面临的7大网络安全威胁

来源:51CTO译稿摘要:曾经在物联网世界,一切都变得更加庞大。不仅是设备本身——有些小到只容纳几个芯片,他们通常隐藏其中,眼不见心不烦。但物联网中庞大的数据和设备规模令任何网络安全专业人士都感到头疼。据广泛统计…

从技术分工的角度来看996.ICU

最近,Github上996.ICU话题自诞生以来异常火爆, 很多人在网上吐槽程序员工作时间长,Python之父也为此伸张正义。 有人在网上抱怨资本家黑心,无情的压榨剥削员工。 各国都存在加班的现象,但似乎加班现象在中国最为严重。…

hibernate之CRUD操作

CRUD是指在做计算处理时的增加(Create)、读取(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写. 下面列举实例来讲解这几个操作: 实体类: package com.oumyye.model;public class Student {private lon…

谷歌自动驾驶专利大曝光!

来源:智车科技摘要:本文仅针对其中自动驾驶汽车部分,说明自动驾驶的分级,再以Google为例,说明其发展的自动驾驶汽车和相关技术,分析及说明Google与自动驾驶汽车相关的发明专利及设计专利的布局,…

(Python代码)通过视差图获取图片中不同物体的高度比

1、原理 可以推出不同物体的高度比可以通过如下公式得到: 是左边指定物体的高度(图片中尺寸) 是右边指定物体的高度(图片中尺寸) 是左边指定物体的平均视差值 是右边指定物体的平均视差值 2、代码逻辑框图 3、代码详解…

Nginx 安装与启动

安装第一种安装方式:CentOS 7下配置 yum 安装 Nginx。按照官方的安装实例:https://www.nginx.com/resources/admin-guide/第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo:cd /etc/yum.repos.d/vim nginx.repo 填写…

一文读懂生物医学领域的传感器

来源:传感器技术摘要:生物医学传感器是生物医学科学和技术的尖兵,生物医学研究的正确结论有赖于生物医学传感器的正确测量。而传感器是一门十分综合的科学和技术。现代传感器的物理模型如图所示:对于传统被测量而言,敏…

训练数据的分布对F-measure, recall 和 precision的影响

1、 Precision, recall and F-measure(f1-score) 2、思路 数据集:手写数字集 从训练集中抽取数据,保证每种label的数量一致,使用SVM 或ANN模型训练新数据集。按照高斯分布抽取新数据, 再次使用SVM 或ANN模…

稀疏矩阵的压缩存储--十字链表(转载)

稀疏矩阵的压缩存储--十字链表&#xff08;转载&#xff09;<?xml version"1.0" encoding"UTF-8"?> 来自为知笔记(Wiz)转载于:https://www.cnblogs.com/ZhangJinkun/p/4531626.html

不可思议的数字:互联网每天到底能产生多少数据?

来源&#xff1a;资本实验室随着互联网、传感器&#xff0c;以及各种数字化终端设备的普及&#xff0c;一个万物互联的世界正在成型。同时&#xff0c;随着数据呈现出爆炸式的指数级增长&#xff0c;数字化已经成为构建现代社会的基础力量&#xff0c;并推动着我们走向一个深度…

(Matlab问题解决)运行matlab程序后,工作区不能显示变量

运行matlab程序&#xff0c;想查看工作区的变量&#xff0c;发现变量无法显示。 原代码特点&#xff1a; 代码中的主函数是以 function main()开头没有end结尾&#xff0c;子函数以function开口&#xff0c;没有end 结尾。 修改方式&#xff1a; 主函数中去掉function main…

redis 安装并设置为开机启动服务

安装 1.下载redis,wget http://download.redis.io/releases/redis-3.0.1.tar.gz 解压&#xff1a;tar zxvf redis3.0.1.tar.gz cd redis3.0.1 make make test 报错&#xff0c;提示需要安装tcl&#xff0c; wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz 安装…