我实施了自己的相机来捕捉图像和视频。我想在同一个按钮上执行两个动作。
假设我有上述任务的3种方法,即captureImage(),startVideo()和stopVideo()。
如何在同一个按钮上实现上述两个动作?我什么时候应该调用以上三种方法?
我尝试使用onClick,ACTION_DOWN和ACTION_UP,但是,在这种情况下,onClick永远不会被调用。总是调用ACTION_DOWN和ACTION_UP。
答案 0 :(得分:1)
这就是我解决它的方式。在ACTION_DOWN 1秒后开始视频录制。在ACTION_UP上检查您是否正在捕获视频,然后停止捕获,否则捕获图像并取消视频捕获处理程序。
System.out.println("No problem" + abs.a);
答案 1 :(得分:0)
您可以使用onTouchListener
这将返回带有所需事件ACTION_UP ACTION_DOWN ...
的MotionEvent答案 2 :(得分:0)
使用OnTouchListener和OnClickListener:
View v = find....;
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//capture();
}
});
v.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
int action = motionEvent.getAction();
if(action==MotionEvent.ACTION_DOWN)startRecording();
if(action==MotionEvent.ACTION_UP)stopRecording();
return true;//return true to avoid onClick...
}
});
}