Flex自身特性
Spark
动态布局
states和state groups
Mobile组件和皮肤
根据OS平台设定CSS规则
DPI管理
自动基于DPI缩放
DPI自适应皮肤
DPI自适应bitmap
根据DPI设定CSS规则
Multitouch
充分运用手势
缩放手势来放大缩小
滑动来对内容切换
点击、长按来出现不同内容
多点触摸控制
import flash.ui.Multitouch;
if (Multitouch.supportsGestureEvents == true) {
trace(Multitouch.supportedGestures);
trace(Multitouch.maxTouchPoints);
}
Mouse Click = Tap Event
Tab事件与传统鼠标点击事件一致
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
square.addEventListener(TouchEvent.TOUCH_TAP, tapHandler);
function tapHandler(event:TouchEvent):void
{
// Start your custom code
}
Click/Drag = Touch Begin/End
点击与拖动对象时可采用Touch Begin/End
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
square.addEventListener(TouchEvent.TOUCH_BEGIN, touchBeginHandler);
var fl_DragBounds:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
function fl_TouchBeginHandler(event:TouchEvent):void
{
event.target.startTouchDrag(event.touchPointID, false, fl_DragBounds);
}
square.addEventListener(TouchEvent.TOUCH_END, touchEndHandler);
function fl_TouchEndHandler(event:TouchEvent):void
{
event.target.stopTouchDrag(event.touchPointID);
}
Long Tab
长按对象可用来激活子菜单,游戏对象属性面板等
var pressTimer:Timer = new Timer(1000);
pressTimer.addEventListener(TimerEvent.TIMER, pressTimerHandler);
function fl_PressTimerHandler(event:TimerEvent):void
{
// Start your custom code
}
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
square.addEventListener(TouchEvent.TOUCH_BEGIN, pressBeginHandler);
function pressBeginHandler(event:TouchEvent):void
{
pressTimer.start();
}
square.addEventListener(TouchEvent.TOUCH_END, pressEndHandler);
square.addEventListener(TouchEvent.TOUCH_ROLL_OUT, pressEndHandler);
function pressEndHandler(event:TouchEvent):void
{
pressTimer.stop();
// End your custom code
}
Tow-Finger Tab
双指点击同样可以在游戏中替代传统的右键激活子功能
Multitouch.inputMode = MultitouchInputMode.GESTURE;
stage.addEventListener(GestureEvent.GESTURE_TWO_FINGER_TAP,
twoFingerTapHandler);
function twoFingerTapHandler(event:GestureEvent):void
{
// Start your custom code
}
Pinch to Zoom
通过手指缩放操作来放大缩小
Multitouch.inputMode = MultitouchInputMode.GESTURE;
stage.addEventListener(TransformGestureEvent.GESTURE_ZOOM,
zoomHandler);
function zoomHandler(event:TransformGestureEvent):void
{
instance_name_here.scaleX *= event.scaleX;
instance_name_here.scaleY *= event.scaleY;
}
Pan Event
双指平移滑动屏幕来显示列表、面板等
Multitouch.inputMode = MultitouchInputMode.GESTURE;
instance_name_here.addEventListener(TransformGestureEvent.GESTURE_PAN,
panHandler);
function panHandler(event:TransformGestureEvent):void
{
event.currentTarget.x += event.offsetX;
event.currentTarget.y += event.offsetY;
}
Rotate Event
让用户通过双指来旋转操作对象
Multitouch.inputMode = MultitouchInputMode.GESTURE;
instance_name_here.addEventListener(TransformGestureEvent.GESTURE_ROTATE,
rotateHandler);
function rotateHandler(event:TransformGestureEvent):void
{
event.target.rotation += event.rotation;
}
Swipe Up/Down/Left/Right
让用户通过手指的上下左右滑动来操作游戏
Multitouch.inputMode = MultitouchInputMode.GESTURE;
stage.addEventListener (TransformGestureEvent.GESTURE_SWIPE,
swipeHandler);
function swipeHandler(event:TransformGestureEvent):void
{
switch(event.offsetX)
{
case 1: { // swiped right; break; }
case -1:{ // swiped left; break;}
}
switch(event.offsetY)
{
case 1: { // swiped down; break; }
case -1: { // swiped up; break; }
}
}
DPI问题
根据DPI自动缩放
<Application applicationDPI=“160”>
<Button width=“160” height=“40”/>
</Application>
240 dpi Scaled 1.5x
320 dpi Scaled 2x
不同DPI设定对应的bitmaps
<Button click="dealSummaryList.refresh()">
<icon>
<MultiDPIBitmapSource
source160dpi="@Embed('assets/refresh160.png')"
source240dpi="@Embed('assets/refresh240.png')"
source320dpi="@Embed('assets/refresh320.png')"/>
</icon>
</Button>
解决方案
1设定applicationDPI=“160”
2依据160 DPI进行布局
3使用MultiDPIBitmapSource 处理bitmaps
不同设备的UI模式
依据操作系统的CSS样式设定
@media (os-platform: "ios") {
ActionBar {
defaultButtonAppearance: "beveled”;
titleAlign: "center”;
}
}
分享到:
相关推荐
资源名称:Android移动应用开发 基于Adobe AIR内容简介:《Android移动应用开发:基于AdobeAIR》共四部分19章,主要介绍如何使用AdobeAIR开发Android移动应用,深入讲解Android移动开发特有的各种主题,力图帮助读者...
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
Android移动应用开发基于AdobeAIR(布罗西耶著) Android移动应用开发
总的来说,Adobe AIR 移动开发源是一个宝贵的学习资源,它涵盖了移动应用开发的基础知识,包括Adobe AIR的使用、Starling框架的图形渲染以及Feathers库的UI设计。通过深入研究这个项目,开发者不仅可以提升自己的...
### 基于Adobe AIR 的下一代移动应用开发 #### 摘要 本文重点探讨了Adobe AIR 技术及其在下一代移动应用开发中的作用。通过与传统Web应用程序的对比,全面解析了Adobe AIR 的特点与优势,并具体介绍了利用Flex...
进阶篇(11~13章)以AIR桌面应用开发为参照对象,讲解了AIR移动开发的重点和难点,如何针对移动设备进行界面设计,如何提高用户体验,以及如何提升程序的性能等,作者分享了大量具有实际意义的技巧和最佳实践;...
通过深入学习和实践J2ME移动应用开发讲义,开发者可以掌握开发适用于各种移动设备的应用程序所需的技术和技巧,包括界面设计、网络通信、数据存储以及应用发布等。同时,理解J2ME的基本原理和最佳实践,对于理解其他...
《Flash+Flex+AIR移动开发入门经典》是一本专为初学者设计的教程,全面讲解了使用Adobe的Flash、Flex和AIR技术进行移动应用开发的知识体系。这本书旨在帮助读者掌握如何利用这些强大的工具来创建跨平台的交互式应用...
AIR支持HTML、CSS、JavaScript以及ActionScript,使得Web开发者可以轻松地将他们的技能应用于桌面和移动应用开发。 2. **Android开发与Adobe AIR** 在Android平台上,Adobe AIR允许开发者使用相同的代码基础构建...
《AIR+Android应用开发实战》是一本专注于跨平台移动应用开发的专业书籍,作者邱彦林在书中详细介绍了如何使用Adobe AIR技术与Android平台相结合,创建功能丰富的移动应用程序。随书附带的代码文件是读者实践和理解...
【基于AIR的移动学习资源开发实践】 随着移动通信技术的快速发展和智能手机的普及,移动学习资源的开发变得越来越重要。本文关注的是如何利用Adobe Integrated Runtime (AIR)技术开发适用于Android平台的移动学习...
### Flash 移动应用开发之路 #### 引言 2012年对Flash平台而言确实是一个转折点。这一年,Flash面临着前所未有的挑战与机遇。一方面,它遭受了许多批评和误解;另一方面,凭借其出色的视觉效果和流畅的交互体验,...
Adobe AIR为Android应用开发提供了一条高效且灵活的路径,特别是对于那些熟悉Web技术和希望快速进入移动市场的开发者来说。通过充分利用Adobe AIR的强大功能,开发者不仅能够创建出美观且功能丰富的应用,还能够享受...
《Flash + Flex + Air 移动开发入门经典》是一本旨在引导初学者进入移动应用开发领域的书籍,尤其关注使用Adobe的Flash、Flex和Air技术。本资源提供了该书第三部分的源码,分为Chapter 9和Chapter 8两个章节,由于...
AIR_Android应用开发实战pdf文档 完整版; 以及 AIR_Android应用开发实战 全书各个章节的源代码 第一章:AIR Android开发简介 第二章:第一个AIR Android程序 第三章:处理用户交互 第四章:加速计 第五章:地理...
4. **用户界面设计**:探讨如何利用Flex框架或纯ActionScript创建适应不同屏幕尺寸和分辨率的移动应用UI。 5. **打包和发布**:学习如何创建Android应用程序包(APK),并在实际设备或Android模拟器上进行测试。...
### Adobe AIR 应用开发知识点概述 #### 一、Adobe AIR 概述 - **定义**: Adobe Integrated Runtime (AIR) 是一种跨操作系统的运行时环境,它能够利用现有的 Web 技术(如 Flash、Flex、HTML、JavaScript 和 AJAX...
在本资源中,我们主要关注的是使用Adobe AIR进行...综上所述,这份资源为学习和实践使用Adobe AIR和Flex开发Android应用程序提供了宝贵的资料,包括理论知识和实际操作的示例,有助于提升开发者在这个领域的技能。
基于Adobe AIR 的 Android 移动应用开发(扫苗版)