編輯:關於Android編程
有關touchEvent的事件裡都有一個 MotionEvent 參數,下面來簡單介紹一下它的屬性的一些含義和使用的方法
通常單指操作時,一般如下:
switch (event.getAction()) {//第一個觸摸點
case MotionEvent.ACTION_DOWN: //按下 = 0
float x = event.getX();
break;
case MotionEvent.ACTION_MOVE: //移動 = 2
break;
case MotionEvent.ACTION_UP: // 抬起 = 1
break;
}多點觸摸時:
以下屬性在api level 5出現,api level 8過時。
MotionEvent.ACTION_POINTER_1_DOWN
MotionEvent.ACTION_POINTER_2_DOWN
MotionEvent.ACTION_POINTER_3_DOWN
MotionEvent.ACTION_POINTER_1_UP
MotionEvent.ACTION_POINTER_2_UP
MotionEvent.ACTION_POINTER_3_UP
api level 8 即2.2後起用:MotionEvent.ACTION_POINTER_DOWNMotionEvent.ACTION_POINTER_UP
通過以下測試發現,單點觸摸時,
switch (event.getAction()) {
// case MotionEvent.ACTION_DOWN: //按下 = 0
// System.out.println("onTouchEvent");
// break;
// case MotionEvent.ACTION_MOVE://移動 = 2
//
// break;
// case MotionEvent.ACTION_UP:// 抬起 = 1
//
// break;
case MotionEvent.ACTION_POINTER_DOWN://非第一個觸摸點按下 = 5
System.out.println("ACTION_POINTER_DOWN");
break;
case MotionEvent.ACTION_POINTER_UP: //非第一個觸摸點抬起 = 6
System.out.println("ACTION_POINTER_UP");
break;
default:
break;
} MotionEvent.ACTION_POINTER_DOWNMotionEvent.ACTION_POINTER_UP 未執行
第二個點以後取x、y坐標值
float x2 = event.getX(event.getActionIndex());//action index 從0開始到pointer count -1 結束 float y2 = event.getY(event.getActionIndex());//某個index的觸摸點的 相對於當前view的y坐標 event.getPointerCount(); //觸摸點的數量
多點時獲取坐標 索引 id 示例
int pointerCount = event.getPointerCount();
// switch (event.getAction() & MotionEvent.ACTION_MASK) {
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
case MotionEvent.ACTION_MOVE:
for (int i = 0; i < pointerCount; i++) {
int id = event.getPointerId(i); //同一點的id值保持不變
int index = i;//同一點的索引值,是可變的,當由多指逐漸減少時,index--
dx = (int) event.getX(index);
dy = (int) event.getY(index);
}
invalidate();
break;
case MotionEvent.ACTION_CANCEL:
default:
break;
}
關於安卓開發環境配置—Android Studio
自學安卓,無論開發環境是Eclipse還是Android Studio,都少不了和Android SDk打交道,作為一名安卓小白,在當初剛開始安裝配置Android開發環
違章查詢源碼分享
使用快遞100查詢接口實現源碼地址:http://xiazai.jb51.net/201612/yuanma/weizhang-master_jb51.rar測試安裝包:
Android記錄17-sdk更新、Eclipse下查看源碼、chm文檔提供等干貨
Android記錄17-sdk更新、Eclipse下查看源碼、chm文檔提供等干貨 本篇博客分享一些Android開發者提高開發效率的一些干貨,之從Google被和諧了之
AndroidStudio使用問題匯總——導入(import)工程時常見錯誤
一、第一種錯誤:錯誤日志大體是這樣:The project is using an unsupported version of the Android Gradle p