按住并单击同一视图上的操作

时间:2016-07-20 09:37:58

标签: android

在Android应用中,我有一项录制音频的功能。我们的想法是拥有一个有两种动作的按钮。

我可以点击按钮开始录制,当我再次点击它时会停止录制。

我可以按住按钮,当它保持应用记录时,当我发布它时,应用程序停止录制。

我尝试了OnTouchListener

private static int CLICK_ACTION_THRESHHOLD = 250;
public long lastTouchDown;
public boolean isClick;
@Override
public boolean onTouch(View v, MotionEvent event) {
        switch (v.getId()){
            case R.id.main_record_button:
            case R.id.main_record2:

                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    lastTouchDown = System.currentTimeMillis();

               //... do stuff

                }
                else if (event.getAction() == MotionEvent.ACTION_UP) {
                    if (System.currentTimeMillis() - lastTouchDown < CLICK_ACTION_THRESHHOLD) {
                        isClick = true;
                      //...do other stuff  
}

实现这一目标的最佳途径是什么?

2 个答案:

答案 0 :(得分:0)

OnTouchListener使用起来不是很直观。

我使用GestureDetector来跟踪用户行为。我认为这就是你应该使用的。在这里查看实施和回调:https://developer.android.com/training/gestures/detector.html

答案 1 :(得分:0)

你应该去through这个图书馆了解他正在做什么,或者你也可以使用它。

enter image description here

Thread.