Ada*_*H S 2 java android android-screen android-gesture
我正在开发一个简单的Android应用程序,我的要求是,
"在屏幕上的一些移动事件(MotionEvent.ACTION_MOVE为真)之后,如果用户停止移动几秒钟,而不是从屏幕上拿出手指,那么需要执行一些操作."
*我了解到LongPress是在用户在触发向下事件后没有进行任何移动时触发的事件(MotionEvent.ACTION_DOWN).*
那么有什么方法可以在屏幕上移动后触发LongPress吗?
或者我应该为相同的功能创建自己的监听器?
任何帮助表示赞赏.
谢谢.
cancel每当你在屏幕上移动手指时,想法就是定时器(MotionEvent.ACTION_MOVE).当你在一段时间后停止移动时,比如3秒后,定时器代码将被执行,你可以在其中执行长按任务.如果您停止移动一段时间并在经过时间(3秒)之前再次开始移动,则再次设置新计时器,依此类推.希望它能帮到你.
timer = new Timer();
public boolean onTouchEvent(MotionEvent event)
{
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
timer.cancel();
timer = null;
timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run() {
// do your long press task here
}
}, 3000);
break;
case MotionEvent.ACTION_UP:
timer.cancel();
timer = null;
break;
}
return super.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |