译者注:本篇文章为开发者提供了零基础使用Sencha Touch的一些资料。
Sencha Touch是专门为移动设备开发应用的Javascrt框架。通过Sencha Touch你可以创建非常像native app的web app,用户界面组件和数据管理全部基于HTML5和CSS3的web标准,全面兼容Android和Apple iOS。
Sencha Touch Bits
使用Sencha Touch 创建 Image Gallery
创建一个时事通讯类型的App
创建Sencha Touch 工具条按钮
在本系列中我们将会创建一个Sencha Touch 应用,允许该应用的用户做笔记,并且在运行 App 的时候把笔记存储在设备上。
使用Sencha Touch 创建一个 iPad App官方文件和示例
使用Sencha Touch2 启动
Hello World
在这篇文章中,我们将会讲到开发你的第一个应用时会用到的基础知识,显示历史悠久的“Hello World ”。
示例Kitchen Sink
简易浏览模式下的一些非常好的例子。
Widget操作
目标:在选择widget时弹出widget功能说明界面,在此界面中选择widget(同一程序拥有多个功能不同的widget,需要在选择时先弹出说明界面)
思路:
1.在widget启动的update方法中启动service
2.由service启动SettingActivity
3.在SettingActivity中发送广播
4.在widget的onReceiver方法中接受广播,改变widget状态
问题:
由于AppwidgetProvider中只能通过RemoteView 操作widget
能改变的属性非常少。
只能改改图片背景 按钮素材之类
可以做出皮肤替换之类的功能
但是难以进行功能选择(布局无法修改)
:
包所有widget布局/功能放在同一个布局文件中。
通过setViewVisbillty来决定显示哪个widget 达到功能选择的目的
问题:
必须预先在xml中定义widget的大小,若多个widget大小不一致,则必须按最大的指定。
浪费空间
多个widget大部分是某个功能的 完整/精简版 提供不同大小的widget
若要预先指定大小,则丧失了选择widget功能的意义。
:
暂无.
Google未开放相关API
原生Lanuch内使用私有对象(mWorkSpace)操作widget ,无法在我们的程序中操作
各个OEM厂商定制的Lanuch各有不同
/** * 用正则表达式判断字符是否是汉字 * */ public static boolean isChinese(char c) { String regEx = "[\u4e00-\u9fa5]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(c + ""); if (m.find()) return true; return false; }