第5章Android用户界面.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
扩展练习 制作一个有自动提示功能的应用程序。 5.5 界面事件 5.5.1 按键事件 在EditText中,每当任何一个键子按下或抬起时,都会引发按键事件 为了能够使EditText处理按键事件,需要使用setOnKeyListener ()函数在代码中设置按键事件监听器,并在onKey()函数添加按键事件的处理过程 entryText.setOnKeyListener(new OnKeyListener(){ @Override public boolean onKey(View view, int keyCode, KeyEvent keyEvent) { int metaState = keyEvent.getMetaState(); int unicodeChar = keyEvent.getUnicodeChar(); String msg = ; 5.5 界面事件 5.5.1 按键事件 msg +=按键动作: + String.valueOf(keyEvent.getAction())+\n; msg +=按键代码: + String.valueOf(keyCode)+\n; msg +=按键字符: + (char)unicodeChar+\n; msg +=UNICODE: + String.valueOf(unicodeChar)+\n; msg +=重复次数: + String.valueOf(keyEvent.getRepeatCount())+\n; msg +=功能键状态: + String.valueOf(metaState)+\n; msg +=硬件编码: + String.valueOf(keyEvent.getScanCode())+\n; msg +=按键标志: + String.valueOf(keyEvent.getFlags())+\n; labelView.setText(msg); if (checkBox.isChecked()) return true; else return false; } 5.5 界面事件 5.5.1 按键事件 第4行代码用来获取功能键状态。功能键包括左Alt键、右Alt键和Shift键,当这三个功能键被按下时,功能键代码metaState值分别为18、34和65;但没有功能键被按下时,功能键代码metaState值分别为0 第5行代码获取了按键的Unicode值,在第9行中,将Unicode转换为字符,显示在TextView中 第7行代码获取了按键动作,0表示按下按键,1表示抬起按键。第7行代码获取按键的重复次数,但按键被长时间按下时,则会产生这个属性值 第13行代码获取了按键的硬件编码,不同硬件设备的按键硬件编码都不相同,因此该值一般用于调试 第14行获取了按键事件的标志符 5.5 界面事件 5.5.2 触摸事件 Android界面框架支持对触摸事件的监听,并能够将触摸事件的详细信息传递给处理函数 需要设置触摸事件的监听器,并重载onTouch ()函数 第1行代码是设置控件的触摸事件监听器 在代码第3行的onTouch()函数中,第1个参数View表示产生触摸事件的界面控件;第2个参数MontionEvent表示触摸事件的详细信息,如产生时间、坐标和触点压力等 第5行是onTouch()函数的返回值 touchView.setOnTouchListener(new View.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { //过程代码…… return true/false; } 5.5 界面事件 5.5.2 触摸事件 TouchEventDemo是一个说明如何处理触摸事件的示例 TouchEventDemo用户界面 浅蓝色区域是可以接受触摸事件的区域,用户可以在Android模拟器中使用鼠标点击屏幕,用以模拟触摸手机屏幕 下方黑色区域是显示区域,用来显示触摸事件的类型、相对坐标、绝对坐标、触点压力、触点尺寸和历史数据量等信息 5.5 界面事件 5.5.2 触摸事件 在用户界面中使用了线性布局,并加入了3个TextView控件 第1个TextView(ID为touch_area)用来标识触摸事件的测试区域 第2个TextView(ID为history_label)用来显示触摸事件的历史数据量 第3个TextView(ID为event_label)用来触摸事件的详细信息,包括类型、相对坐

文档评论(0)

新起点 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档