• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android键盘事件,android键盘

Android键盘事件,android键盘

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android 键盘事件,android监听键盘事件,android呼出软键盘,android键盘,android 键盘弹出等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android键盘事件,android键盘


在activity中重写了dispatchKeyEvent事件,不论最后返回TRUE还是FALSE都不会执行onKeyDown事件了么?

找到的一些资料却不是这样解释的:
当键盘按下时
首先触发dispatchKeyEvent
然后触发onUserInteraction
再次onKeyDown
如果按下紧接着松开,则是俩步
紧跟着触发dispatchKeyEvent
然后触发onUserInteraction

再次onKeyUp

dispatchKeyEvent是做按键处理和分发的工作,如果你想要onKeyDown还可以接收到应该这样实现
public boolean dispatchKeyEvent(KeyEvent event){
  return super.dispatchKeyEvent(event);
}

代码测试如下:

在dispatchKeyEvent(KeyEvent event)中按键的按下抬起都会进行操作,在处理完一个按键操作时无论return true 还是 false ,onKeyDown(int keyCode, KeyEvent event)和onKeyUp(int keyCode, KeyEvent event)都不会再进行按键处理:

第1种情况及log信息:

public void DEBUG(String str) {  
        Log.d(TAG, str);  
    }  
      
    @Override  
    public boolean onKeyDown(int keyCode, KeyEvent event) {  
        // TODO Auto-generated method stub  
        DEBUG(" onKeyDown " + keyCode );  
        return super.onKeyDown(keyCode, event);  
    }  
  
    @Override  
    public boolean onKeyLongPress(int keyCode, KeyEvent event) {  
        // TODO Auto-generated method stub  
        DEBUG("  onKeyLongPress " + keyCode );  
        return super.onKeyLongPress(keyCode, event);  
    }  
    @Override  
    public boolean dispatchKeyEvent(KeyEvent event) {  
        // TODO Auto-generated method stub  
        DEBUG("  dispatchKeyEvent 1 key = " + event.getKeyCode() + " event =  " + event.getAction());  
        if(event.getAction()==KeyEvent.ACTION_DOWN){  
            DEBUG("  dispatchKeyEvent 2 ACTION_DOWN" + event.getKeyCode() );  
            return super.dispatchKeyEvent(event);  
        }  
        if(event.getAction()==KeyEvent.ACTION_UP){  
            DEBUG("  dispatchKeyEvent 3 ACTION_UP" + event.getKeyCode() );  
            return super.dispatchKeyEvent(event);  
        }  
        return super.dispatchKeyEvent(event);  
    }  
  
    @Override  
    public boolean onKeyUp(int keyCode, KeyEvent event) {  
        // TODO Auto-generated method stub  
        DEBUG(" onKeyUp " +  keyCode);  
        return super.onKeyUp(keyCode, event);  
    }  
log信息:  

D/ testMainActivity (  853):   dispatchKeyEvent 1 key = 23 event =  0
D/ testMainActivity (  853):   dispatchKeyEvent 2 ACTION_DOWN23
D/ testMainActivity (  853):  onKeyDown 23
D/ testMainActivity (  853):   dispatchKeyEvent 1 key = 23 event =  1
D/ testMainActivity (  853):   dispatchKeyEvent 3 ACTION_UP23
D/ testMainActivity (  853):  onKeyUp 23

 

  

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android键盘事件,android键盘

相关文章

  • 2017-05-26极其简单的搭建eclipse的android开发环境,搭建eclipseandroid
  • 2017-05-26Android 蓝牙操作详解,android蓝牙详解
  • 2017-05-26使用LogPhoneUtil工具类在Android手机保存APP运行日志,android日志工具类
  • 2017-05-26Android 手机卫士17--缓存清理,android17--
  • 2017-05-26Android笔记——Android自定义控件,android自定义控件
  • 2017-05-26android 动画详解(二)
  • 2017-05-26使用Gradle动态配置资源,gradle动态资源
  • 2017-05-26Charles Proxy 4.1.2 破解版,charles4.1.2
  • 2017-05-26和我一起看API(一)你所不知道的LinearLayout补充,apilinearlayout
  • 2017-05-26android 自学日记(一)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android 环境搭建 以及 第一个android 程序的编写,搭建android
    • 高通QCOM 8610平台电量计算
    • 整理分享原生态mac AndroidStudio的快捷键,studio快速整理代码
    • 活动的生周期(四)活动结束前的数据保存,周期活动结束
    • 7.5.4 WebView文件下载
    • ELK部署参考文档
    • MySQL rpl_semi_sync_master_timeout相关的一件BUG
    • Android EventBus.getDefault()开源框架,eventbusgetdefault
    • 安卓开源项目周报1220,安卓开源项目1220
    • 「视频直播技术详解」系列之五:延迟优化,

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有