在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
}
实现这一目标的最佳途径是什么?
答案 0 :(得分:0)
OnTouchListener使用起来不是很直观。
我使用GestureDetector来跟踪用户行为。我认为这就是你应该使用的。在这里查看实施和回调:https://developer.android.com/training/gestures/detector.html
答案 1 :(得分:0)