我有一个按钮。当用户按住按钮时,我要录制视频。当用户释放按钮时,我想添加一些代码来处理视频并停止录制,但是如何检测用户何时释放按钮并且onLongClickListener完成执行?

snap.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            try {
                initRecorder(mCameraView.getHolder().getSurface());
                mMediaRecorder.start();
                try {
                    Thread.sleep(10 * 1000); // This will recode for 10 seconds, if you don't want then just remove it.
                } catch (Exception e) {
                    e.printStackTrace();
                }
                finish();
                return true;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return false;
        }
    });

最佳答案

我有一个适合您的目的的摘要,请看一下https://gist.github.com/0x0af/013c4e7a90a481e04f77#file-snippet-java

基本上,您要做的是实现View.OnTouchListener()并等待MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP

更新:使用计时器来确定操作是否长按

关于java - 释放onLongClickListener Android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35616277/

10-10 09:46