利用motionevent,我們可以獲知手指在螢幕滑過的速度,因為可以或者位置,間隔時間。android提供了velocitytracker類,必須自己計算,可以直接獲取。velocity實際也是從motionevent中獲取資訊。
下面是乙個例子,小例子很簡單,乙個linearlayout,上面有乙個textview,用於顯示速度資訊。
例子**如下:
public class testvelocityactivity extends activity
private velocitytracker vt = null;
@override
public boolean ontouchevent(motionevent event) else
//加入motionevent資訊,這是獲取的第乙個event資訊,速度為0。
vt.addmovement(event);
break;
case motionevent.action_move:
//加入motionevent的資訊,獲得第二個event資訊,就可以有效計算速度
vt.addmovement(event);
//設定計算速度的單位 pixel/unit,unit為1,單位為pixels/ms,我們設定為1000,速度單位為pixels/s
vt.computecurrentvelocity(1000);//1秒1 pixel
//獲取x方向和y方向的速度,在呼叫getx|yvelocity()之前必須先執行computecurrentvelocity()。
textview.settext( "x速率為" + vt.getxvelocity()+ ",y速度為" + vt.getyvelocity());
break;
case motionevent.action_up:
case motionevent.action_cancel:
/* **,其他人可以用,我們將用在下乙個動作。此外,我們不在action_up的時候計算,因為此時速度為0。
* 如果我們在遊戲中計算拋投物體的速度,通常是action_move的最後速度,不要在action_up中計算。
* velocitytracker是比較費資源的,因此當我們不需要的使用就應該recycle(),執行其他人使用,雖然
* android允許多個velocitytracker,但這會消耗大量記憶體,因此不同應recycle(),並重複使用 */
vt.recycle();
break;
default:
break;
} return super.ontouchevent(event); } }
觸控螢幕開發 觸控螢幕甩屏互動系統
這是南京酷牛科技最新開發的一款上下屏聯動觸控螢幕軟體。比較獨特的是,玩家可以通過控制乙個下屏,與上屏五個顯示屏進行展示的互動。軟體組成 軟體特點 1 一台大的顯示器 支援led屏,投影儀,拼接屏 可以和多個觸控螢幕組成區域網實現觸屏資料飛至大屏,不限制觸控螢幕的個數。如果只有1個觸控螢幕也可以用擴充...
觸控螢幕設定
1.srcpnd,intpnd 暫存器的意義 一直不明白為什麼中斷服務程式最後要把 srcpnd,intpnd 相應位置 1,還把這個過程稱為 cleaningpend 既然叫清除為什麼不是清零呢?查了手冊 當有中斷源請求中斷服務時,srcpnd 相應位置 1,裁決 判斷是否響應中斷 時 intpn...
觸控螢幕驅動
輸入子系統體系 核心層 linux dir drivers input input.c 提供最核心函式 裝置事件層 linux dir drivers input evdev.c 提供handler 提供輸入裝置產生的原始資料並上報給應用程式,這適用於 所有輸入裝置,該觸控螢幕也不例外 編寫基於輸入...