Android触摸Touch 手指触摸荧屏傳遞『鬆UP』『撳DOWN』『拖DRAGGED』基礎信息, 要模拟『單擊』『雙擊』, 首先定義信息指令.
#define TOUCH_CLICK 4 | 單擊 |
#define TOUCH_DOUBLECLICK 5 | 雙擊 |
定義『單擊』『雙擊』時間間隔. 约摸0.1秒即触發單擊,
#define TOUCH_TIME_CLICK 0.5f | 單擊 500毫秒 |
#define TOUCH_TIME_DOUBLECLICK 0.5f | 雙擊 500毫秒 |
定義冚域變量,記录『撳up』『單擊click』触發時間.
double touch_time_down; | 撳-进程時鐘 |
double touch_time_click; | 單擊-进程時鐘 |
获得進程時鐘信号
clock_t clock(void); |
每秒時鐘計時单位
#define CLOCKS_PER_SEC 1000000 | 時鐘单位 |
計進程時間,單位『秒』
『進程時間=時鐘信号/时鐘单位』
double currTime = clock() / CLOCKS_PER_SEC ; |
當接收『鬆UP』指令.
if(action == TOUCH_UP){//鬆 |
判斷两次單擊小於0.5秒触發雙擊
if((currTime – touch_time_click) < TOUCH_TIME_DOUBLECLICK ) { |
touch->action[finger] = TOUCH_DOUBLECLICK; //細過500ms 雙擊 |
touch_time_click = currTime; } |
判斷『鬆UP』『撳DOWN』小於0.5秒触發單擊
else if((currTime – touch_time_down) < TOUCH_TIME_CLICK ) {// 細過500ms |
touch->action[finger] = TOUCH_CLICK; //單擊 |
touch_time_click = currTime; }} |
記录『撳DOWN』
if(action == TOUCH_DOWN) |
touch_time_down = currTime;//撳-进程時間 |