1. MotionEvent的幾個函數
下面的方法都支援多點觸摸,即可以對單個觸摸點調用下面的方法
1.1 getPressure()
這個api 可以擷取到手指觸控螢幕幕時候的壓力,但是需要硬體和驅動支援...
它有助於我們做出更加擬物化的設計,比如:
1. 手繪。可以根據手指壓力更好地類比畫筆的出息和顏色的深淺,讓人感覺更真實。
2. 對控制項的點擊操作。 可以根據手指壓力來設定控制項(如按鈕)的pressed效果,比如下凹的幅度。
3. 新操作方式。及手指不離開螢幕,通過調整手指壓力來達到操作目的,比如類比汽車加油門
1.2 getSize()
擷取手指觸控螢幕幕時與螢幕的接觸面積
這個可以用來識別fattouch events,也就是很大面積的觸摸事件,這個時候往往有可能是使用者的誤操作。
1.3 getToolType()
擷取觸發當前事件的物體類型:手指、觸控筆或者滑鼠(觸控版)
這個我也沒想到有啥用處。。。
2. ClipData
ClipData.addItem(ClipData.Item item)
這個api可以將文本、資源地址和Intent放在一個ClipData對象裡面,然後儲存在系統的剪下板中,而系統的剪下板是可以跨應用程式傳遞資料的,因此可以支援以下功能:
1. 跨應用程式複製、粘貼各種檔案(圖片、視頻)等,類似windows的剪下板。
2. 由於資源地址可以是本地或者來自網路,因此還可以直接copy網路端的資源,類似於PC端的有道雲筆記,直接將網頁的內容copy到本地。ClipData本身已經支援帶HTML標籤的格式化文本了。。
3. 直接copy應用程式的捷徑,Intent就相當於啟動一個介面的捷徑,因此理論上講可以copy跳轉到應用程式任何介面的捷徑,比如撥打某人的電話,發起和某人的視訊交談。
1.3 Vibrator
Vibrator.vibrate (long[] pattern, intrepeat)
這個api可以控制震動馬達的節奏,可以支援一下功能:
1. 讓使用者自訂震動節奏,ios已經有這個功能了。
2. 內建幾套震動節奏,和鬧鈴鈴音配合好,增加趣味性。