- Flash Development for Android Cookbook
- Joseph Labrecque
- 430字
- 2021-04-02 19:15:20
Verifying specific gesture support for common interactions
When dealing with Android devices, touch and gestures are the main mechanisms with which the user interacts with the device. If we want to use some of the predefined gestures in Flash Player and AIR, we can do so in the following manner.
How to do it...
To discover which specific gestures are supported on a device, perform the following actions:
- First, import the following classes into your project:
import flash.display.StageScaleMode; import flash.display.StageAlign; import flash.display.Stage; import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.ui.Multitouch; import flash.ui.MultitouchInputMode;
- Declare a
TextField
andTextFormat
object to allow visible output upon the device:private var traceField:TextField; private var traceFormat:TextFormat;
- We will now set up our
TextField
, apply aTextFormat
, and add it to theDisplayList
. Here, we create a method to perform all of these actions for us:protected function setupTextField():void { traceFormat = new TextFormat(); traceFormat.bold = true; traceFormat.font = "_sans"; traceFormat.size = 44; traceFormat.align = "center"; traceFormat.color = 0x333333; traceField = new TextField(); traceField.defaultTextFormat = traceFormat; traceField.selectable = false; traceField.mouseEnabled = false; traceField.width = stage.stageWidth; traceField.height = stage.stageHeight; addChild(traceField); }
- Set the specific input mode for the multitouch APIs to support gestures with the following command:
Multitouch.inputMode = MultitouchInputMode.GESTURE;
- Invoking
Multitouch.supportedGestures
will return aVector
ofString
objects naming all the supported gestured exposed to Flash on the device:var supportedGestures:Vector.<String> = Multitouch.supportedGestures;
- We can then look for a specific gesture or set of gestures to listen for, or fall back to other interaction events if necessary.
for(var i:int=0; i < supportedGestures.length; ++i) { trace(supportedGestures[i]); }
- We can perform all of these necessary functions within a single method:
protected function checkGestures():void { Multitouch.inputMode = MultitouchInputMode.GESTURE; if(Multitouch.supportedGestures){ var supportedGestures:Vector.<String> = Multitouch.supportedGestures; for(var i:int=0; i <supportedGestures.length; ++i) { traceField.appendText(supportedGestures[i] + "\n"); } }else{ traceField.appendText("no gesture support!"); } }
- The result will appear similar to the following:
How it works...
Flash player and AIR do a marvelous job of distilling information to essential details for an Android developer. Knowing which particular gestures are supported on a device will allow us to tailor event interactions on our applications and provide fallback interactions when necessary.
There's more...
In our example class, we also provide a check to be sure there are at least some gestures supported through Multitouch.supportedGestures
. Chances are, if the device does provide gesture support, we will want to provide a warning to the user explaining that the application will not perform optimally because of hardware limitations.
Apart from the more common gestures such as zoom, swipe, rotate, and pan, which are included in the flash.events.TransformGestureEvent
package, there are additional, yet less common gestures such as two-finger tap, found in the flash.events.GestureEvent
and flash.events.PressAndTapGestureEvent
classes. These will all be referenced by Multitouch.supportedGestures
if available on the device.
- 創意UI:Photoshop玩轉移動UI設計
- Visio圖形設計從新手到高手(兼容版·第2版)
- Photoshop CC 2017實戰基礎培訓教程(全視頻微課版)
- 剪映:短視頻剪輯/字幕/動畫/AI從新手到高手(手機版+電腦版)
- 3ds Max & Unreal Engine 4:VR三維建模技術實例教程(附VR模型)
- 品悟:Alias 2014+Showcase產品可視化造型與渲染
- 青少年美育趣味課堂:青少年學攝影修圖
- 零基礎學數碼攝影后期
- Flash Facebook Cookbook
- AI短視頻生成與剪輯實戰108招:ChatGPT+剪映
- AutoCAD 2019中文版計算機輔助繪圖全攻略
- 綁定的藝術:Maya高級角色骨骼綁定技法(第2版)
- Blender 2.5 Materials and Textures Cookbook
- 說服力:工作型PPT該這樣做(第2版)
- Photoshop+AE UI動效設計從新手到高手