本文整理匯總了Java中android.view.KeyEvent.getDownTime方法的典型用法代碼示例。如果您正苦於以下問題:Java KeyEvent.getDownTime方法的具體用法?Java KeyEvent.getDownTime怎麽用?Java KeyEvent.getDownTime使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.view.KeyEvent
的用法示例。
在下文中一共展示了KeyEvent.getDownTime方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onDpadClicked
import android.view.KeyEvent; //導入方法依賴的package包/類
boolean onDpadClicked(KeyEvent event) {
if (!isShowCursor) {
return false;
}
if (event.getKeyCode() == KEYCODE_CENTER) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
// 按下確定鍵進入拖動模式(長按相當於不斷點擊,會維持拖動模式)
isDragMode = true;
} else if (event.getAction() == KeyEvent.ACTION_UP) {
// 如果在指定時間內抬起,則認為是一次點擊
if (event.getDownTime() - mLastMoveTime > defTimes / 2) {
isDragMode = false;
sendMotionEvent(mCursorX, mCursorY, MotionEvent.ACTION_DOWN);
sendMotionEvent(mCursorX, mCursorY, MotionEvent.ACTION_UP);
}
}
} else {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
// 如果兩次點擊之間的事件間隔小於預先設定的事件間隔,進行線性加速
if (event.getDownTime() - mLastMoveTime < defTimes) {
if (speedCoefficient < defMaxSpeed) {
speedCoefficient++;
}
} else {
// 超過了時間間隔的話,就還原初始速度
speedCoefficient = 1;
}
mLastMoveTime = event.getDownTime();
// 如果是拖動的情況,就模擬拖動的動作,反之僅移動指針
if (isDragMode) {
sendMotionEvent(mCursorX, mCursorY, MotionEvent.ACTION_DOWN);
moveCursor(event, speedCoefficient);
sendMotionEvent(mCursorX, mCursorY, MotionEvent.ACTION_UP);
isDragMode = false;
} else {
moveCursor(event, speedCoefficient);
}
}
}
return true;
}