1、通过设置控件的interactionMode样式值为touch来设置控件的touch-and-throw滚动方式。如果项目使用mobile的主题,那么控件的交互属性会自动设置为touch。
2、目前这个阶段,只有如下组件进行优化,并且具有mobile主题的皮肤。所以建议目前开发的mobile app使用如下控件:
Controls |
Button
CheckBox
Image (BitmapImage is also supported)
Label
List (supports touch scrolling, includes scroll indicator)
RadioButton / RadioButtonGroup
TextArea
TextInput |
Layout |
DataGroup
Group
HGroup
Scroller (supports touch scrolling, includes scroll indicator)
TileGroup
VGroup |
Charts |
All (add mx.swc and datavisualization.swc to library path) |
3、hero sdk增加View,ActionBar,ViewNavigator,MobileApplication组件。
4、View组件:每个View组件都有一个data属性,用于展现在该View上的数据。当用户切换屏幕的方向时,View能够自动根据横向或者纵向的比例调整界面。如果开发过程中采用Flex的标准布局管理器,则建议最好在View中中实现portrait 和 landscape 两种State。
5、ActionBar:标准的显示在View上的头部控件栏。一般都是包含一个标题和一个或多个按钮。按钮能够使贯穿整个应用的按钮或者是专属于每个view的按钮。
6、ViewNavigator:用堆栈机制管理ActionBar和Views。当应用启动时,ViewNavigator显示 mobileApplication的firstView指定的View。启动之后,可以通过pushView()将一个新的View显示在界面上,或者通过popView()返回到上一个界面。为了节约内存,在一个时刻,只有一个View放在内存里。其他的都以数据持久的方式保存,当切换到其它界面时,都会根据持久的数据重新初始化View。
7、MobileApplication:基于该类的应用,可以自动获得ViewNavigator来管理Views。 MobileApplication也针对硬件的返回按钮提供了默认行为,即popView()。当屏幕方向发生改变时,向ViewNavigator和当前View发送方向改变事件。另外,当你的应用退出时,MobileApplication提供一个方式保存你的应用状态和数据,以便于下次启动时直接回复当前视图以及历史视图集合。这个很重要,因为移动操作系统很容终端或者kill你的应用。
当然,我们也可以直接用Spark application来创建mobile app,而不用View navigator的模式。但是依然建议尽量去使用优化过的mobile主题。
8、mobile app性能优化:
8.1:创建ItemRenderer时,使用As3而不要去使用Mxml。因为列表滚动非常耗性能,Hero还提供了 MobileIconItemRenderer,该类可以配置显示一个或两个文本item,一个可选的左边的图标或者图片item,一个可选的右边的装饰器。一般建议扩展这个类来满足新的需求。
8.2:尽量使用As3或者编译过的FXG图形或者位图作为控件的皮肤,而不是使用mxml或者mxml运行时图形。
8.3:不建议在mobile app中使用mx控件,尽量使用spark控件,mx:charts已经做过优化,可以在mobile中使用。在mobile中使用mx:charts需要手工加入mx.swc和datavisualization.swc
8.4:尽量使用Spark的label,TextInput,TextArea,避免使用RichText和RichEditableText.
posted on 2010-11-11 16:46
不做浮躁的人 阅读(1091)
评论(0) 编辑 收藏 所属分类:
flex