项目需求:操作机顶盒应用上的虚拟方向键,可以控制摄像头的上下左右移动,点击一下,响应一次调整摄像头,这个容易实现;需求是需要长按某个虚拟键时,能持续调整摄像头直到松开。
解决方法:
每个View有OnClickListener 和 OnLongClickListener;
添加这两个监听器:
长按并松开,打印LOG为:
OnLongClickListener
OnClickListener
也就是说,长按结束后,将会再一次调用OnClickListener方法。所以根据这样的响应事件的顺序可以找到方案
在OnLongClickListener中添加一个循环运行的线程,长按OnLongClickListener响应时开启线程,在OnClickListener方法中停止这个循环运行的线程。