亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為ImageView添加點擊事件(可以實現單擊、雙擊、長按等功能)

標簽:
Android
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
isMOtionActionUp = false;
if (clickType == ConstantUtil.NoClick) {
clickType = ConstantUtil.SingleClick;
// 开启线程
if (mClickThread != null) {
mClickThread = null;
}
mClickThread = new ClickTThread();
mClickThread.start();
} else if (clickType == ConstantUtil.SingleClick) {
clickType = ConstantUtil.DoubleClick;
} else {
clickType = ConstantUtil.InvalidClick;
}
break;
case MotionEvent.ACTION_MOVE:
clickType = ConstantUtil.NoClick;
break;
case MotionEvent.ACTION_UP:
isMOtionActionUp = true;
break;
}
return true;
}
/**
 * 点击的类型
 */
private int clickType = ConstantUtil.NoClick;
/**
 * 释放手指
 */
private boolean isMOtionActionUp = false;
private ClickTThread mClickThread;
static class myHandler extends Handler {
}
private myHandler mHandler = new myHandler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
default:
break;
case ConstantUtil.mClickTThreadStop:
if (isMOtionActionUp) {
switch (clickType) {
default:
System.out.println("InvalidClick");
break;
case ConstantUtil.NoClick:
System.out.println("NoClick");
break;
case ConstantUtil.SingleClick:
System.out.println("SingleClick");
break;
case ConstantUtil.DoubleClick:
System.out.println("DoubleClick");
break;
}
} else if (clickType == ConstantUtil.SingleClick) {
// 超时间没有释放手指并且只点击一次的被视为长按
System.out.println("LongClick");
}
System.out.println("AppIcon position is " + row + " row "
+ column + " column.");
// 超时间清除点击事件
clickType = ConstantUtil.NoClick;
break;
}
}
};
/**
 * 第一次点击时启动该线程,在规定时间后判断点击的次数(可用定时器实现该功能)
 * 
 * @author zoipuus
 * 
 */
private class ClickTThread extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
try {
sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mHandler.obtainMessage(ConstantUtil.mClickTThreadStop)
.sendToTarget();
}
}

原文链接:http://www.apkbus.com/blog-192725-58776.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消