dojo mobile 学习1

近来学习dojo mobile,贴些学习资料。
Dojo Mobile功能结构介绍
以功能性来说,Dojo Mobile开发框架包含以下内容:

一个非常轻量级的控件解释器,仅针对mobile控件.
在以WebKit为内核的浏览器上,大量使用CSS3实现与iPhone和Android本地程序类似的特效;同时也支持非WebKit内核的手机浏览器,使用dojo自带的dojo.animateProperty与dojox.gfx代替CSS3动画模拟特效.
模拟iPhone和Android本地程序外观的CSS主题.
一系列模拟iPhone或Android界面控件行为的控件, 移动设备上的界面控件外观和行为与传 统控件具有很大的不同,下一节会着重介绍Dojo Mobile中的控件库。
Dojo Mobile控件库
在使用控件库之前,首先需要载入Dojo Mobile代码环境和相应的CSS主题。

加载Javascript

dojo.require("dojox.mobile");
//加载为dojox.mobile定制的解析器,这里也可以载入dojo.parser,不过后者会载入更多的代码,所以在这里推荐使用dojox.mobile.parser.
dojo.require("dojox.mobile.parser");
//为内核不是WebKit的浏览器,加载兼容代码,使用Javascript代替实现CSS3的动画特效。
dojo.requireIf(!dojo.isWebKit, "dojox.mobile.compat");选择模拟手机平台外观的CSS主题,这里选择的是iPhone的界面风格:

<style>
<link rel="stylesheet" type="text/css" href="dojox/mobile/themes/iphone/iphone.css">
</style>View
View(视 图)是占据手机全屏页面的容器控件,一个HTML页面可以包含多个View,但是只有被标记为selected的View才会被显示。各个View之间的 导航只需要通过moveTo参数就可以实现。请看下面的“setting”视图与“hello”视图建立导航的例子:


关键代码如下:

<!-- "setting"视图, 当前为被选中显示状态 -->
<div id="settings" dojoType="dojox.mobile.View" selected="true">
<h1 dojoType="dojox.mobile.Heading">Settings</h1>
<ul dojoType="dojox.mobile.EdgeToEdgeList">
<li dojoType="dojox.mobile.ListItem">Airplane Mode</li>
<li dojoType="dojox.mobile.ListItem" moveTo="hello">Wi-Fi</li>
</ul>
</div>
<!-- "hello"视图,当前为隐藏视图 -->
<div id="hello" dojoType="dojox.mobile.View">
<h1 dojoType="dojox.mobile.Heading">Hello</h1>
<ul dojoType="dojox.mobile.EdgeToEdgeList">
<li dojoType="dojox.mobile.ListItem" moveTo="settings">Hello</li>
<li dojoType="dojox.mobile.ListItem" moveTo="settings">Carrier</li>
</ul>
</div>
同一个HTML中的View之间,通过moveTo参数建立了导航链接,十分方便直观。

Heading
Heading(标 题栏)是移动应用中非常典型的导航栏控件,一般来说,Heading位于当前视图的上方,显示视图的名称,在iPhone应用中还常常带有 ToolBarButton(工具栏按钮). 下面的例子是一个包含导航键和工具栏按钮的典型iPhone风格的Heading:


代码如下,点击Bookmarks将导航到id为bookmarks的视图:

<h1 dojoType="dojox.mobile.Heading" label="News" back="Bookmarks" moveTo="bookmarks">
<div dojoType="dojox.mobile.ToolBarButton" label="Done" class="mblColorBlue" style="width:45px;float:right;"></div>
</h1> 除了moveTo属性可以完成同一HTML中不同视图的跳转,Heading还提供了goTo(moveTo, href) 控制视图的跳转,goTo不但可以在本HTML页面中完成???图间的切换,而且还可以在不同的页面间进行跳转。

这里特别需要指出的是iPhone与Android应用中的标题栏是有比较大的区别的:iPhone应用中的Heading跟接近于工具栏, 会包含很多按钮;而传统的Android应用中Heading一般只包含当前视图的标题。下图是两者的区别:

iPhone:


Android:


Switch
Switch(开关)也是一个在iPhone应用中常见的控件,而在Android应用中一般使用Check Box来表示开关状态。在状态改变时将触发onClick与onStateChanged事件。


代码示例如下:

<div id="switch" dojoType="dojox.mobile.Switch" value="on" leftLabel="Start" rightLabel="Stop"></div>
...
<script>
dojo.addOnLoad(function(){
dojo.connect(dijit.byId("switch"),"onStateChanged",function(state){
// "Switch is now on/off"
console.log("Switch is now " + state);
}
});
</script> 根据手机UI的设计模式,一般来说Switch控件和Check Box在列表中使用比较得当。

List
在 手机屏幕尺寸的限制下,列表已经成为手机应用中最常见的布局方式,dojo mobile框架中当然也引入了列表控件:EdgeToEdge List和RoundRect List。两种列表控件都使用想同的列表项(dojox.mobile.ListItem), 可能大家看到这两种列表的名称感觉有点诧异,不过相信看了下面的例子就容易理解了。

EdgeToEdget List: 每条列表项都是从左到右占满了屏幕


EdgeToEdge List声明方式:

<ul dojoType="dojox.mobile.EdgeToEdgeList">
<li dojoType="dojox.mobile.ListItem">......</li>
<li dojoType="dojox.mobile.ListItem">......</li>
......
</ul>RoundRect List: 一组列表项被包含在一个圆角矩形容器中


RoundRect List 的声明方法也与EdgeToEdge List如出一辙:

<ul dojoType="dojox.mobile.RoundRectList">
<li dojoType="dojox.mobile.ListItem">......</li>
<li dojoType="dojox.mobile.ListItem">......</li>
......
</ul>ListItem
作为列表的单位,声明方式已在上文提及,这里主要介绍一下ListItem的比较重要的属性:

rightText:在列表项的右侧显示文字也属于iPhone应用程序的风格,rightText一般与跳转箭头同是出现,表示该列表项的子列表或者下一个视图。
btnClass:列表项中不同的Button是由btnClass来决定的,在dojox/mobile/themes/buttons.css中,声明了添加按钮 (mblPlusButton)、删除按钮(mblMinusButton),以及勾选框按钮(mblCheckButton).
Category
Category(目录)也是手机应用中十分常见的内容分类控件,在同一个视图包含多个列表, 在手机本地应用中的联系人列表、手机功能设置等视图都用到了目录控件。下面是dojo mobile框架中的列表目录控件:


Category作为列表的标题, 用法也很简单,只需要在列表之前声明即可:

<h2 dojoType="dojox.mobile.EdgeToEdgeCategory">List One</h2>
<ul dojoType="dojox.mobile.EdgeToEdgeList">......</ul>
<h2 dojoType="dojox.mobile.EdgeToEdgeCategory">List Two</h2>
<ul dojoType="dojox.mobile.EdgeToEdgeList">......</ul> TabContainer,TabPane 与TabBar
TabContainer(选 项卡容器)我们应该已经很熟悉了,与列表的搭配使用成为了手机应用程序的主流布局方式,不过在最新的dojo1.6中TabBar取代了 TabContainer与TabPane的组合, dojo mobile的开发者不建议继续使用TabContainer与TabPane。当然,在界面和行为上来看TabBar与TabContainer并无二 致,如下图所示:


那么来看看两者的声明结构:

TabContainer:

<div dojoType="dojox.mobile.View" id="general" selected="true">
<div dojoType="dojox.mobile.TabContainer">
<div dojoType="dojox.mobile.TabPane" label="New">
<ul dojoType="dojox.mobile.EdgeToEdgeList" id="list1">
</div>
<div dojoType="dojox.mobile.TabPane" label="What's Hot">
<ul dojoType="dojox.mobile.EdgeToEdgeList" id="list2">
</div>
<div dojoType="dojox.mobile.TabPane" label="Genius">
<ul dojoType="dojox.mobile.EdgeToEdgeList" id="list3">
</div>
</div>
</div> 原先的TabContainer的结构与dojo控件库dijit中的TabContainer如出一辙:TabContainer下包含多个 TabPane,在TabPane中包含列表,。而在手机中,这些列表作为内容主体被TabContainer所封闭,不能被TabContainer以 外的控件连接导航。这与dojo mobile提倡的视图切换思想不符,再来看看TabBar的声明结构:

<ul dojoType="dojox.mobile.TabBar" barType="segmentedControl">
<li dojoType="dojox.mobile.TabBarButton" moveTo="view1" selected="true">New</li>
<li dojoType="dojox.mobile.TabBarButton" moveTo="view2">What's Hot</li>
<li dojoType="dojox.mobile.TabBarButton" moveTo="view3">Genius</li>
</ul>
<div id="view1" dojoType="dojox.mobile.View" selected="true">
<ul dojoType="dojox.mobile.EdgeToEdgeList" id="list1">......</ul>
</div>
<div id="view2" dojoType="dojox.mobile.View">
<ul dojoType="dojox.mobile.EdgeToEdgeList" id="list2">......</ul>
</div>
<div id="view3" dojoType="dojox.mobile.View">
<ul dojoType="dojox.mobile.EdgeToEdgeList" id="list3">......</ul>
</div> 各个列表都被放在视图之中,TabBar仅仅作为一个导航栏放在页面顶端,使用moveTo来切换对应的视图,外部的控件仍然可以导航到这些视图。从控件间松耦合的角度,来看TabBar的确是更适合dojo mobile设计风格的控件。

原文链接:http://www.infoq.com/cn/articles/dojo-mobile
DIY压电陶瓷传感器信号放大:从拆解到JFET电路实战(附示波器实测数据) 本文详细介绍了如何利用废旧设备拆解的压电陶瓷片,结合JFET(结型场效应管)高输入阻抗特性,DIY搭建高灵敏度振动传感器放大电路。从元件拆解、参数实测到JFET共源极放大器实战搭建与调试,提供了完整的步骤、示波器实测数据及优化方案,帮助电子爱好者实现低功耗振动检测应用。 阅读详情

相关推荐

AI图像去噪实战:5种最新深度学习模型在超声图像处理中的效果对比(附代码)

本文对比了2022至2024年间五种前沿深度学习模型在超声图像去噪领域的实战效果,包括FDDL-Net、MG-CNFNet、Dual-TranSpeckle、可控去噪模型及Wave-Mamba。文章深入剖析了各模型的核心创新与架构,并提供了可运行的代码片段,旨在帮助医学影像算法工程师根据不同的性能、速度与临床需求,选择最合适的AI图像去噪解决方案。

1a2s3d4f5g的博客 915

Dojo Mobile:iPhone/Android的Web应用开发利器

Dojo Mobile框架是一套移动终端的Web应用开发框架,是最新发布的dojo1.5 中的一个子项目。Dojo Mobile主要面向手持设备上的Web富客服端应用开发,提供了iPhone和android两套主题,使得基于iPhone或者Android的Web应用具有手机本地应用的外观和效果,而同时也给了开发者更多的主导权

Dojo中文博客 1万+

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程

本文详细介绍了企业微信群机器人Webhook的配置流程,从创建机器人到获取Webhook地址,再到发送各类消息的完整步骤。通过Python代码示例展示了文本、Markdown等消息类型的发送方法,并提供了性能优化建议和常见问题排查技巧,帮助企业高效实现自动化消息推送。

weixin_29208327的博客 6838

第一部份:开始Dojo Mobile

Part 1 - Getting Started with Dojo MobileContent on the web is evolving at a rapid pace, and the path is quickly moving towards mobile devices. As with many other problems on the web, the D...

weixin_34384915的博客 245

038、OIS 光学防抖原理与调试:陀螺仪数据融合、Lens Shift OIS 的闭环控制

本文分享了OIS光学防抖系统的调试经验和关键技术要点。作者通过一个"呼吸感"Bug案例,揭示了陀螺仪数据融合和闭环控制的重要性。系统介绍了OIS的三个关键层次:传感器层(陀螺仪特性)、控制层(复合算法)和执行层(闭环控制)。重点讲解了陀螺仪数据融合的互补滤波实现、Lens Shift闭环控制的PID优化策略(包括积分抗饱和和微分滤波),以及前馈补偿的应用。最后总结了调试中的关键问题:数据同步、霍尔校准、温度补偿和性能评估方法,并给出实用建议:平衡算法复杂度与性能、预留带宽余量、重视产线校准等。文章强调OIS

sundong_81的博客 262

【2026 Science Robotics】Learning realistic lip motions for humanoid face robots

哥伦比亚大学Yuhang Hu团队提出了一种创新方法,通过10自由度软体嘴唇设计和自监督学习算法解决仿人机器人嘴唇动作僵硬问题。研究采用变分自编码器(VAE)和面部动作Transformer(FAT)模型,将语音信号转化为机器人可执行的电机指令。实验表明,该方法在多语言测试中表现优异,用户偏好率达62.5%,显著提升了口型同步的真实感和流畅度。该成果突破了传统机械结构的限制,为跨越"恐怖谷效应"提供了有效解决方案。

志在山顶的人,不会贪念山腰的风景 308

手机Web开发框架集

HTML5 开发框架 jQuery Mobile jQuery Mobile(jQueryMobile) 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴...更多j

yuan_jie 1万+

基于Simulink的无线充电系统LCC补偿网络建模与控制

本文详细介绍了基于Simulink的无线充电系统LCC补偿网络建模与控制方法。首先分析了无线充电系统面临的核心挑战,提出LCC补偿网络解决方案,阐述了其恒流输出和输入阻抗解耦原理。通过Simulink分步演示了系统建模过程,包括松耦合变压器、LCC+LC补偿网络、功率变换级搭建以及频率跟踪控制实现。仿真结果表明,LCC补偿系统在气隙变化和负载跳变下能保持输出电压稳定(波动±3%),效率达89%。文章还总结了工程实现要点,并探讨了动态充电、多负载系统等扩展应用。该教程为开发高效智能的无线充电系统提供了实用指导

amy_mhd的博客 63

ADP5350与PIC18F86K90嵌入式电源管理方案详解

电源管理IC(PMIC)是现代嵌入式系统的核心组件,通过集成多路DC-DC转换器、电池充电管理和系统监控功能,显著提升设备可靠性。ADP5350作为ADI公司的高效PMIC,配合Microchip经典8位MCU PIC18F86K90,可构建智能电源管理系统。该方案利用I²C接口实现动态电源配置,支持锂电池充放电管理、多路电压输出和低功耗模式切换,特别适合物联网终端、便携式医疗设备等场景。其中关键设计包括输入电容选型、NTC温度监测电路优化,以及通过寄存器配置实现充电参数动态调整,有效解决实际工程中的电源波

cuxiong8996的博客 482

VSCode PlantUML 插件超详细教程:从安装配置到实战绘图全流程

VSCode PlantUML 插件超详细教程:从安装配置到实战绘图全流程

weixin_69237381的博客 911

硬件基础知识-电机知识

步进电机存在空载启动频率,所以步进电机可以低速正常运转,但若高于一定速度时就无法启动,并伴有尖锐的啸叫声;在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数。给电机两根线供电,电机就可以旋转,给正电压,电机正转,给相反电压,电机反转;电压越大,电机转得越快,电压越小,转速也变小。是一种直流电机,有刷电机的定子上安装有固定的主磁极和电刷,转子上安装有电枢绕组和换向器。控制器:使用专用的电子控制器来监测和控制电机的转速、电流和方向。线圈电流方向的交替变化是随电机转动的换相器和电刷来完成的。

weixin_46969363的博客 2296

Dojo mobile TweetView 系列教程之一 —— dojox.mobile入门

Web技术飞速更新,而现在Web的趋势也是逐渐向移动设备上迁移。如同其他Web存在的问题一样,Dojo Toolkit已经为你提供了解决方案——dojox.mobile。dojox.mobile是一个由controllers、基于CSS3的主题以及一些外观与你的移动设备契合的wi

Dojo中文博客 1万+

1.07---共识机制详解(PoW、PoS、DPoS 对比)

【摘要】区块链能成为“无需信任的协作网络”,靠的正是它的“共识机制”。本节将深入剖析 PoW、PoS、DPoS 等核心共识模型,并结合以太坊从 PoW 到 PoS 的转型与 Solana 等新型方案,为你拆解这一决定区块链运行方式、性能、安全性的“发动机系统”。什么是共识机制?为何不是多数投票这么简单?三大主流共识算法(PoW、PoS、DPoS)机制对比与演化路线以太坊从 PoW 到 PoS 的转型细节(The Merge)Solana 的 PoH + PoS 混合共识机制解析。

鄙人kunzhi96,感恩遇见! 1万+

使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用

日期:2012-8-14 来源:GBin1.com 在线演示 本地下载 随着科技的进步,越来越多的javascript类库开发出了面对移动设备的类库,例如,jQuery Mobile,Secha touch等, 随着Dojo最新版本1.7的发布,同样的也带来了Dojo版本的移动开发框架Dojox/mobile。这套框架使用基于controller和CSS3主题的架构,帮助你

goitcast的专栏 1627

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

dojo.xd.js_开始使用Dojo Mobile 1.7

存档日期:2019年5月14日 | 首次发布:2011年8月23日 了解Dojo Mobile 1.7,它是移动Web开发框架的最新版本,它是Dojo工具包的扩展。 了解如何从主干下载Dojo 1.7,以及如何在应用程序中使用Dojo Mobile。 探索它提供的各种小部件和组件,并学习如何使用PhoneGap将Web应用程序包装在本机应用程序中。 此内容不再被更新或维护。 全文以PD...

cuyi7076的博客 221

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

phonegap_Android上的PhoneGap和Dojo Mobile

人们无所不在,人们正在使用移动设备与家人和朋友保持联系,拍照以发布在社交网站上,查找餐厅的位置或查看最新新闻标题。 移动设备有许多不同的形状和样式。 手机运行各种不同的操作系统,例如Apple的iOS,Google的Android和Research In Motion的Blackberry。 有些具有大型显示器和物理键盘,并且可以在3G,4G或WiFi网络上运行。 移动电话可能还具有用于加速度...

cuyi7076的博客 549

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Dojo --satsun Studio

目录: DOJO (continued) Dojo shrinksafe ||Dojo JS压缩 ***Dojo 打包机制 ||Dojo build 工具使用方法 2010-10-30DOJO || CRM || CODEIGNITER 2010-11-22Dojo || JSON || Ajax || CodeIgniter || php server 2010-

SatSun工作室 1104

dojo mobile模板

index.html                                             require([              "dojox/mobile/parser",              "dojox/mobile",                "dojox/mobile/compat"             

yipanbo的专栏 964

Dojo mobile TweetView 系列教程之五 —— TweetView: Android,打包,回顾

作者:David Walsh翻译:Siqi (siqi.zhong@gmail.com)原文:TweetView: Android, Packaging, and Review 在前两篇教程Dojo mobile TweetView 系列教程之三 —— Tweets和Mentions视图 与 Dojo mobile TweetView 系列教程之四 —— 创建

Dojo中文博客 4915

Dojo 1.7 Release Notes翻译完成,包含若干重大更新

Dojo 1.7作为变化重大的一个版本,已经Release近两个月,而现在已经放出了1.7.2的小版本更新,包括了一些小的fix。让人难以理解的是即使Dojo 1.7已经Release这么久,但是其release notes至今仍然是draft状态。。这也导致了迟迟不能对它进行翻译。看来Dojo社区的那帮老大完全是技术狂,对于文档和社区其他用户的关注还远远不够啊,需要改进。。尽管Release n

Dojo中文博客 7368

Dojo mobile TweetView 系列教程之二 —— TweetView 启程

在本系列的第一篇教程dojox.mobile入门中,我们已经详细介绍了Dojo Toolkit中dojox.mobile包的基本概念和用法。在本系列接下来的教程中,我们将着手创建我们自己的强大dojox.mobile web应用程序TweetView。本篇教程将帮助你熟悉什么是TweetView,我们想用它来干什么,然后我们将开始构建这个移动应用程序的 HTML和CSS布局。

Dojo中文博客 6178

Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图

在上一个教程Dojo mobile TweetView 系列教程之二——TweetView启程 中,我们介绍了将要使用dojox.mobile创建的移动应用程序“TweetView”,并为其创建了整体布局模板,现在是时候为TweetView添加更多的代码让它真正工作起来了!本教程将重点介绍“Tweets”和“Mentions”这两个视图的实现。

Dojo中文博客 5343

Dojo mobile TweetView 系列教程之四 —— 创建Setting视图

作者:David Walsh翻译:Siqi (siqi.zhong@gmail.com)原文:TweetView: Creating the Settings View 在上一篇教程Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图 中,我们夯实了TweetView应用程序的文件结构,回顾了创建TweetView的目标并通过编写tweetview._Vi

Dojo中文博客 4914

[译文]移动应用开发,第1部分:在Android上应用PhoneGap和Dojo Mobile

这一文章系列以创建一个简单的移动应用为起点,最终会讲到通过Android设备来使用web服务。你会学习如何使用Eclipse和PhoneGap来 创建一个只用到了HTML和JavaScript的移动混合应用;以及使用Mobile Dojo赋予应用本地化的感觉。在本文中,我们了解如何通过整合PhoneGap和Mobile Dojo来快速地为Android创建一个混合移动应用,其外观和行为都...

没有自信心的软件开发者 129

Dojo 1.8 中令人期待的18件事

原文链接:http://www.sitepen.com/blog/2012/06/15/18-things-to-look-forward-to-in-dojo-1-8/原文作者: Dylan Schiemann译者: Elaine Liu经过几个月的努力,Dojo 1.8 Beta发布了。我们希望这个beta版本于2012年6月22日发布,并且在此之后四至六周,1.8 版本正式发布!Dojo/r

Dojo中文博客 6919
上一篇: ofbiz之minilang解析
下一篇: dojo mobile 入门
kevin0xFFFFFFFF
博客等级 码龄17年 3粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值