单击并按下相同按钮

时间:2015-08-19 18:47:56

标签: android onclick ontouch

我实施了自己的相机来捕捉图像和视频。我想在同一个按钮上执行两个动作。

  1. 单击按钮时,我想执行图像捕获代码。
  2. 当我连续按下按钮时,我想开始录制,当我释放按钮时,我想停止录制。
  3. 假设我有上述任务的3种方法,即captureImage(),startVideo()和stopVideo()。

    如何在同一个按钮上实现上述两个动作?我什么时候应该调用以上三种方法?

    我尝试使用onClick,ACTION_DOWN和ACTION_UP,但是,在这种情况下,onClick永远不会被调用。总是调用ACTION_DOWN和ACTION_UP。

3 个答案:

答案 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...
        }
    });
}