我對Android編程和Java相當陌生(儘管我對C#有一些經驗,所以這很有幫助)。Android:似乎無法正確使用MotionEvent.ACTION_MOVE
在這一刻,我正在玩弄一些事情,去了解一切是如何工作的。我做了一個實現onTouchListener的活動。我已經覆蓋onTouch和對event.getAction()開關:
public boolean onTouch(View v, MotionEvent event)
{
float x;
float y;
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN: // gets called
{
x = event.getX();
y = event.getY();
circle c = new circle(this, x, y, 10, 0xFFFFFF);
_main.addView(c, tapCount++);
break;
}
case MotionEvent.ACTION_MOVE: // doesnt seem to do anything
{
x = event.getX();
y = event.getY();
circle c = new circle(this, x, y, 10, 0xFFFFFF);
_main.addView(c, tapCount++);
break;
}
}
return false;
}
凡「圓」是繪製一個圓形的一類。
當我將手指放在屏幕上時,我期望看到的是一圈圓圈。相反,當我開始觸摸時,這個圓圈纔會被繪製出來。
我將我的代碼與示例進行了比較(例如:Google的此博客:http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html),我找不到我的錯誤。
編輯: 鏈接到滿級: http://pastebin.com/tVDQjQhu
編輯: 固定。必須在onTouch()函數中返回true。 D'哦!
+1你知道爲什麼這是它的工作原理嗎?你能否指出我們的方向,這是有記錄的地方,哪裏會有解釋?謝謝! – Mzn 2012-03-26 18:35:34
當您覆蓋onTouchEvent時,您的返回布爾值指示該事件是否已消耗。 – stealthcopter 2012-09-13 13:47:43