本文整理汇总了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;
}