Android基本组件介绍.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.4 菜单 6.4.3 快捷菜单 在Android系统中,菜单不仅能够在代码中定义,而且可以像界面布局一样在XML文件中进行定义 使用XML文件定义界面菜单,将代码与界面设计分类,有助于简化代码的复杂程度,并且更有利于界面的可视化 下面将快捷菜的示例程序MyContextMen改用XML实现,新程序的工程名称为MyXLMContoxtMenu 6.4 菜单 6.4.3 快捷菜单 首先需要创建保存菜单内容的XML文件 在/src目录下建立子目录menu,并在menu下建立context_menu.xml文件,代码如下 在描述菜单的XML文件中,必须以menu标签(代码第1行)作为根节点,item标签(代码第2行)用来描述菜单中的子项,item标签可以通过嵌套实现子菜单的功能 menu xmlns:android=/apk/res/android item android:id=@+id/contextMenu1 android:title=菜单子项1/ item android:id=@+id/contextMenu2 android:title=菜单子项2/ item android:id=@+id/contextMenu3 android:title=菜单子项3/ /menu 6.4 菜单 6.4.3 快捷菜单 XML菜单的显示结果如图所示 6.4 菜单 6.4.3 快捷菜单 在XML文件中定义菜单后,在onCreateContextMenu()函数中调用inflater.inflate()方法,将XML资源文件传递给菜单对象 第4行代码中的getMenuInflater()为当前的Activity返回MenuInflater 第6行代码将XML资源文件R.menu.context_menu,传递给menu这个快捷菜单对象 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){ MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.context_menu, menu); } 6.5 界面事件 在Android系统中,存在多种界面事件,如点击事件、触摸事件、焦点事件和菜单事件等等 在这些界面事件发生时,Android界面框架调用界面控件的事件处理函数对事件进行处理 6.5 界面事件 按键事件 在MVC模型中,控制器根据界面事件(UI Event)类型不同,将事件传递给界面控件不同的事件处理函数。 按键事件(KeyEvent)将传递给onKey()函数进行处理 触摸事件(TouchEvent)将传递给onTouch()函数进行处理 6.5 界面事件 按键事件 Android系统界面事件的传递和处理遵循一的规则 如果界面控件设置了事件监听器,则事件将先传递给事件监听器 如果界面控件没有设置事件监听器,界面事件则会直接传递给界面控件的其他事件处理函数 即使界面控件设置了事件监听器,界面事件也可以再次传递给其他事件处理函数 6.5 界面事件 按键事件 Android系统界面事件的传递和处理遵循一的规则 是否继续传递事件给其他处理函数是由事件监听器处理函数的返回值决定的 如果监听器处理函数的返回值为true,表示该事件已经完成处理过程,不需要其他处理函数参与处理过程,这样事件就不会再继续进行传递 如果监听器处理函数的返回值为false,则表示该事件没有完成处理过程,或需要其他处理函数捕获到该事件,事件会被传递给其他的事件处理函数 6.5 界面事件 按键事件 以EditText控件中的按键事件为例,说明Android系统界面事件传递和处理过程,假设EditText控件已经设置了按键事件监听器 当用户按下键盘上的某个按键时,控制器将产生KeyEvent按键事件 Android系统会首先判断EditText控件是否设置了按键事件监听器,因为EditText控件已经设置按键事件监听器OnKeyListener,所以按键事件先传递到监听器的事件处理函数onKey()中 6.5 界面事件 按键事件 事件能够继续传递给EditText控件的其他事件处理函数,完全根据onKey()函数的返回值来确定 如果onKey()函数返回false,事件将继续传递,这样EditText控件就可以捕获到该事件,将按键的内容显示在EditText控件中 如果onKey()函数返回true,将阻止按键事件的继续传递,这样EditText控件就不能够捕获到按键事件,也就不能够将按键

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档