2012-10-16 30 views
1

我想为按钮点击事件。可以给我一个主意。如何在Android中添加双击按钮

thanx

+0

双击在FONE一个按钮?为什么?为什么不使用单击双击并按住单击 – Shoban

+0

我认为在框架中没有实现。尝试使用计时器 – x4rf41

+0

http://stackoverflow.com/a/4849304/966550 – waqaslam

回答

2

为什么不使用长按?或者你是否已经将其用于别的东西?长时间触摸双重触摸的优势:

  1. 长按是在UI准则中推荐的交互,双击触摸不是 。
  2. 这是用户期望的;用户可能找不到双触摸动作 ,因为他们不会去寻找它
  3. 它已经在API中处理。
  4. 执行双触将影响单触的处理,因为您必须等待每个单触触摸变成双触触摸,然后才能对其进行处理。

如果你想双击:你可以使用手势检测器。

请看下面的代码:

public class MyView extends View { 

GestureDetector gestureDetector; 

public MyView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
      // creating new gesture detector 
    gestureDetector = new GestureDetector(context, new GestureListener()); 
} 

// skipping measure calculation and drawing 

    // delegate the event to the gesture detector 
@Override 
public boolean onTouchEvent(MotionEvent e) { 
    return gestureDetector.onTouchEvent(e); 
} 


private class GestureListener extends GestureDetector.SimpleOnGestureListener { 

    @Override 
    public boolean onDown(MotionEvent e) { 
     return true; 
    } 
    // event when double tap occurs 
    @Override 
    public boolean onDoubleTap(MotionEvent e) { 
     float x = e.getX(); 
     float y = e.getY(); 

     Log.d("Double Tap", "Tapped at: (" + x + "," + y + ")"); 

     return true; 
    } 
} 
} 
+0

长按我目前使用。所以它不是可能的 – user321

+0

@ user321然后你必须重新考虑你的交互方法。 –