【发布时间】:2011-10-23 12:37:05
【问题描述】:
我有一个与鼠标侦听器相关的 Java 类,我想将其转换为我的 Android 应用程序,但找不到必要的事件。
我的 Java 应用使用以下方法:
- 鼠标点击
- 鼠标按下
- 鼠标释放
我想做类似的事情,但不是点击事件而是触摸事件。我遇到了OnTouchListener 并对onTouch 方法进行了覆盖。
mousePressed 和 mouseReleased 的替代品有哪些?
编辑 - (在彼得回复后更新)
下列事件是否正确:
- ACTION_DOWN : mouseClicked
- ACTION_MOVE:鼠标按下
- ACTION_UP : mouseReleased
EDIT - 2 示例来源
我的活动目前没有任何OnTouchListener,因为我希望我可以将所有触摸逻辑保留在我的视图中。
查看:
/*Inside my View - Is it proper to do onTouch logic here?
Or should I be doing this from the Activity?*/
public class myView {
public boolean onTouch(MotionEvent event) {
switch(event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
//draw arrow when screen is simply touched
break;
case MotionEvent.ACTION_MOVE:
//Do Logic
break;
case MotionEvent.ACTION_UP:
//Do Logic
break;
}
}
}
我在 View 中执行逻辑的原因是因为我想直接获取一些变量,而不是创建多个额外的 get 方法。
我可以这样做吗?还是我必须在我的 Activity 中重写 onTouch 方法并在那里执行逻辑?
【问题讨论】:
标签: java android mouse listener