键值判断单击双击和长按事件
2015-10-09 14:14
911 查看
键盘上按键,判断单击双击和长按事件
public class MainActivity extends ActionBarActivity { private static boolean isWaitingDoubleClick = true; private static boolean isKeyLongPress; private static final int DOUBLE_CLICK = 350; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { super.onKeyDown(keyCode, event); if (event.isLongPress() == true && keyCode == KeyEvent.KEYCODE_MENU) { event.startTracking(); System.out.println("长按"); isKeyLongPress = true; } return super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (isKeyLongPress == true) { isKeyLongPress = false; } else { isKeyLongPress = false; ClickOrDoubleClick(keyCode); } return super.onKeyUp(keyCode, event); } private void ClickOrDoubleClick(int keyCode) { if (isWaitingDoubleClick == true && keyCode == KeyEvent.KEYCODE_MENU) { isWaitingDoubleClick = false; Thread thread = new Thread() { @Override public void run() { try { sleep(DOUBLE_CLICK); if (isWaitingDoubleClick == false) { isWaitingDoubleClick = true; System.out.println("单击"); } } catch (InterruptedException e) { e.printStackTrace(); } } }; thread.start(); } else { isWaitingDoubleClick = true; System.out.println("双击"); } } }
相关文章推荐
- Win7 不能运行bat
- C#实现自定义双击事件
- javascript 双击文本框编辑功能代码
- JS实现双击编辑可修改状态的方法
- 单击复制文字兼容各浏览器的完美解决方案
- PHP和JavaScrip分别获取关联数组的键值示例代码
- IE下双击checkbox反应延迟问题的解决方法
- js如何获取object类型里的键值
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Java List双击事件实现方法
- php数组索引与键值操作技巧实例分析
- php数组键值用法实例分析
- C#键值对容器的介绍
- javascript实现单击和双击并存的方法
- php中怎么搜索相关联数组键值及获取之
- Android双击返回键退出程序的实现方法
- python通过字典dict判断指定键值是否存在的方法
- Android按钮单击事件的四种常用写法总结
- DBA成长之路---mysql数据库服务基础(二)
- java swing JTextPane 按键、长按、回车键等控制