【发布时间】:2011-09-10 15:50:40
【问题描述】:
我对 Android 编程和 Java 还是很陌生(虽然我对 C# 有一些经验,所以这会有所帮助)。
目前,我正在闲逛几件事,以了解一切是如何运作的。我做了一个实现 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;
}
其中“circle”是一个绘制圆的类。
当我将手指拖过屏幕时,我期望看到的是一圈圈。相反,只有在我开始触摸时才会绘制圆圈。
我已将我的代码与示例进行了比较(例如:Google 的这篇博文:http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html),但我找不到我的错误。
编辑: 完整课程链接: http://pastebin.com/tVDQjQhu
编辑: 固定的。必须在 onTouch() 函数中返回 true。哦!
【问题讨论】:
-
为什么 onTouch 会返回 false?
标签: java android touch-event