今天就跟大家聊聊有關 Android中TouchEvent類如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
成都創(chuàng)新互聯公司主營孝感網站建設的網絡公司,主營網站建設方案,成都app軟件開發(fā)公司,孝感h5小程序制作搭建,孝感網站營銷推廣歡迎孝感等地區(qū)企業(yè)咨詢
使用TouchEvent類(2)
由于有監(jiān)聽舞臺stage的Touch事件,因此只要觸摸屏幕上任何一點,Touch事件都將觸發(fā),并在觸摸點處畫一個圓。請注意,拖拽的實現并沒有使用Flash開發(fā)者熟悉的startDrag方法,而是Sprite類新增的startTouchDrag方法,該方法代碼如下:
startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void
和startDrag相比,***的區(qū)別是多了一個參數touchPointID,而touchPointID只在支持觸摸行為的設備上工作,因此startTouchDrag也只能在觸摸設備上使用。相對應的,結束拖拽時使用stopTouchDrag方法,代碼如下:
stopTouchDrag(touchPointID:int):void
在結束拖拽時也必須輸入touchPointID,以保證是針對同一個觸摸點的動作。
因為模擬器不支持觸摸事件,所以使用觸摸事件的程序必須在真機上運行才能看到效果,如圖3-1所示。
運行TouchEventEx程序,有兩個手指觸摸屏幕上任意兩處,保持觸摸并移動手指,兩個圓將跟隨手指移動。在本例中,程序主類繼承了AppBase,并重寫了init方法,實際上,這將是后面所有實例代碼的模板。在AppBase類中定義了所有程序通用的屬性以及結構,完整代碼如下:
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; /** * 程序基類,定義了舞臺屬性 */ public class AppBase extends Sprite { public function AppBase():void { //定義舞臺的對齊方式和縮放模式 stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; init(); } /** * 程序入口,所有程序都重寫init方法,在此添加自己的邏輯 */ protected function init():void { //在這里添加代碼 } } }
grid_container.x = (stage.stageWidth - grid_container.width) / 2;AppBase類位于公用代碼庫library中,定義了舞臺的對齊方式和縮放模式。將scaleMode設置為StageScaleMode.NO_SCALE,舞臺尺寸即為屏幕的實際尺寸。StageAlign.TOP_LEFT表示舞臺內容頂部居左對齊,這兩行代碼的作用是為了讓程序能夠適應設備的屏幕尺寸,從而依據舞臺對象的stageWidth和stageHeight對界面上的元素進行布局和定位。比如在上一章中,我們讓棋盤在屏幕居中顯示的代碼為:
類AppBase為后面所有的例子程序定義了統一的運行流程,將init方法作為程序初始化的入口,每個例子程序的主類會繼承AppBase類,并且重寫init方法。
使用這樣方式后,一些常用的代碼塊被提取出來放在基類中,被所有的子類共用,同時也提高了程序的靈活性。在后續(xù)的開發(fā)中,如果有需要,可以在AppBase基類中加入更多的方法,這樣所有的程序都可以共享。
看完上述內容,你們對 Android中TouchEvent類如何使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝大家的支持。
網站題目:Android中TouchEvent類如何使用
URL分享:http://sd-ha.com/article2/jgihic.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站設計、服務器托管、網頁設計公司、建站公司、虛擬主機、網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯