* view双击监听事件 public class OnDoubleClickListener implements View . OnTouchListener { private int count = 0 ; //点击次数 private long firstClick = 0 ; //第一次点击时间 private long secondClick = 0 ; //第二次点击时间 * 两次点击时间间隔,单位毫秒 private final int totalTime = 1000 ; * 自定义回调接口 private DoubleClickCallback mCallback ; public interface DoubleClickCallback { void onDoubleClick ( ) ; public OnDoubleClickListener ( DoubleClickCallback callback ) { super ( ) ; this . mCallback = callback ; * 触摸事件处理 * @param v * @param event * @return @Override public boolean onTouch ( View v , MotionEvent event ) { if ( MotionEvent . ACTION_DOWN == event . getAction ( ) ) { //按下 count ++ ; if ( 1 == count ) { firstClick = System . currentTimeMillis ( ) ; //记录第一次点击时间 } else if ( 2 == count ) { secondClick = System . currentTimeMillis ( ) ; //记录第二次点击时间 if ( secondClick - firstClick < totalTime ) { //判断二次点击时间间隔是否在设定的间隔时间之内 if ( mCallback != null ) { mCallback . onDoubleClick ( ) ; count = 0 ; firstClick = 0 ; } else { firstClick = secondClick ; count = 1 ; secondClick = 0 ; return true ;
header.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() {
            @Override
            public void onDoubleClick() {
                if (recyclerView!=null){
                    recyclerView.smoothScrollToPosition(0);
        }));

更新
如果该view设置了点击事件,会发现无法响应!
这个也很好处理:我们在第一次点击或者是第二次点击判断出不是双击的时候,调用view.performClick()即可!

本文转自:Android实现双击事件的监听Android实现view的双击事件监听,一般使用的场景,列表双击顶部回到第一条!双击监听/** * view双击监听事件 */public class OnDoubleClickListener implements View.OnTouchListener { private int count = 0;//点击次数 pr... public class OnDoubleClickListener implements View.OnTouchListener{ private int count = 0;//点击次数 private long firstClick = 0;//第一次点击时间 private long secondClick = 0;//第二次点击时间 * 两次点击时间间隔,单
OnclickListener 关于这个即使是新手也会比较熟悉,毕竟我们很多教学就是以一个简单的点击事件的例子开始的。 不过防止有些零基础的自学的孩子在布局文件中傻傻写了“Onclick=… …”,大家不要笑哈,之前真的遇到过这样的诶,所以强调一遍,事件、活动等等这些一定一定要和布局文件完全分离开来,刚刚提的那个的确可以实现点击事件,可是真正地项目开发中是绝不会出现这种的,都implements View.OnClickListener,然后将指定控件setOnClickListener嘛 这个是我们用的最
一、前期基础知识储备 1.onTouchEvent()和onTouch()处理的对象是谁? 点击事件(Touch事件)。当用户触摸屏幕时(ViewViewGroup派生的控件),将产生点击事件(Touch事件)。常见的点击事件包括:单击、双击、触摸、滑动。 Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象。 所以传入参数之后完整的方法展示:onTouchEvent(MotionEvent event)和onTouch(View v, MotionEventevent
首先写一个内部类继承View.OnTouchListener private final class TouchListener implements View.OnTouchListener { * 记录是拖拉照片模式还是放大缩小照片模式 private int mode = 0;// 初始状态
import android.os.Handler; import android.view.MotionEvent; import android.view.View; import java.util.concurrent.atomic.AtomicInteger; public abstrac... public static DoubleClick getInstance() { if (doubleClick == null) { doubleClick = new DoubleClick();
最近在搞软件杯的事,要提取按键时的具体信息,包括按下去的时间和弹起的时间,还有按的是哪个键等等,发现用普通的OnClickListener无法做到,于是乎百度了一下,就用OnTouchListener这个监听器来做,可以监听动作。下面是代码 //这里用的是建立一个监听类,而我以前喜欢用的是用匿名内部类的方法,使用新建的类有个好处就是可以使代码简化 //对于到底是哪个按键调用的,利用了getId(
自定义View的onTouch 在项目开发的过程中,使用到了ImageView控件,要做选中状态,很自然的想到了selector方式,可就是这么一个简单的东西,足足折腾了我两三个小时。 selector选中状态莫名失效,对此网上有些对应的解决方法是,将selector中true的状态放在第一位置; 我想做longclick或者doubleclick都很麻烦 imageview无法响应onT...
from android.permission import request_permissions, Permission request_permissions([Permission.TOUCHSCREEN]) from android import Android droid = Android() # 获取屏幕的宽度和高度 screen_width, screen_height = droid.getScreenSize() # 计算屏幕的中心点 screen_center_x = screen_width / 2 screen_center_y = screen_height / 2 # 双击屏幕中心点 droid.touch(screen_center_x, screen_center_y, 'DOWN_AND_UP') time.sleep(0.1) droid.touch(screen_center_x, screen_center_y, 'DOWN_AND_UP') 这段代码使用了 `android` 库来模拟触摸屏幕的操作。首先,使用 `request_permissions` 函数请求触摸屏幕的权限。然后,使用 `Android` 类创建一个 Android 对象,通过调用它的 `getScreenSize` 方法获取屏幕的宽度和高度,并计算出屏幕的中心点。最后,通过调用 Android 对象的 `touch` 方法模拟双击屏幕中心点的操作。 希望这些内容能够帮到你。