当前位置:操作系统 > 安卓/Android >>

andorid 中如何实现双击事件

项目需求:
    android中只有单击和其他事件,其实都是由OnTouch事件演变而来;最近有项目要求双击全屏,所以就试着实现了下
 
具体实现如下:
 
1.MainActivity.java实现:
 
public class MainActivity extends Activity implements OnTouchListener {  
    private long firstClick;  
    private long lastClick;  
    // 计算点击的次数  
    private int count;  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        findViewById(R.id.ontourch).setOnTouchListener(this);  
    }  
  
    @Override  
    public boolean onTouch(View arg0, MotionEvent event) {  
        switch (event.getAction()) {  
        case MotionEvent.ACTION_DOWN:  
            // 如果第二次点击 距离第一次点击时间过长 那么将第二次点击看为第一次点击  
            if (firstClick != 0 && System.currentTimeMillis() - firstClick > 300) {  
                count = 0;  
            }  
            count++;  
            if (count == 1) {  
                firstClick = System.currentTimeMillis();  
            } else if (count == 2) {  
                lastClick = System.currentTimeMillis();  
                // 两次点击小于300ms 也就是连续点击  
                if (lastClick - firstClick < 300) {// 判断是否是执行了双击事件  
                    System.out.println(">>>>>>>>执行了双击事件");  
  
                }  
            }  
            break;  
        case MotionEvent.ACTION_MOVE:  
            break;  
        case MotionEvent.ACTION_UP:  
            break;  
        }  
        return true;  
    }  
  
}  

 

 
 
2.main_activity.xml实现:
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    tools:context=".MainActivity" >  
  
    <Button  
        android:id="@+id/ontourch"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="@string/hello_world" />  
  
</RelativeLayout>  

 

 
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,