Android如何实现友好的界面显示效果
2012-02-22 20:11
525 查看
Android如何实现友好的界面显示效果
【IT168技术】控件menu的功能是为用户提供一个友好的界面显示效果。大部分的应用程序都包括两种人机互动方式,一种是直接通过GUI的Views,其可以满足大部分的交互操作;另外一种是应用menu,当按下Menu按钮后,会弹出与当前活动状态下的应用程序相匹配的菜单。这两种方式有各自的优势,而且可以很好地相辅相成,即便用户可以从主界面完成大部分操作,但是适当地拓展menu功能可以更加完善应用程序。Android提供了3种菜单类型,分别为options menu、context menu、sub menu,其中较为常用的是options menu和context menu。options menu是通过按home键来显示,而context menu需要在view上按上2秒后显示。这两种menu都可以加入子菜单,但子菜单不能再嵌套子菜单。options menu最多只能在屏幕最下方显示6个菜单选项,被称为icon menu,icon menu不能有checkable选项。多于6的菜单项会以more icon
menu来调出,被称为expanded menu。optionsmenu通过activity的onCreateOptionsMenu来生成,这个函数只会在menu第一次生成时调用。任何想改变options menu的操作只能在onPrepareOptionsMenu来实现,这个函数会在menu显示前调用。onOptionsItemSelected 用来处理选中的菜单项。
context menu是与某个具体的view绑定在一起的,在activity中用registerForContextMenu来为某个view注册context menu。context menu在显示前都会调用onCreateContextMenu来生成menu。onContextItemSelected用来处理选中的菜单项。
另外,Android还提供了对菜单项进行分组的功能,可以把具有相似功能的菜单项分成同一个组,这样就可以通过调用setGroupCheckable、setGroupEnabled、setGroupVisible来设置
菜单属性,而无须单独设置。
练习7:练习menu控件的用法
(1)新建工程文件,然后编写main.xml主文件。此文件是一个布局文件,具体代码如
下所示:
通过上述代码插入了1个TextView控件和两个Button控件。其中,首先TextView显示文本,然后用layout_width设置Button的宽度,用layout_height设置Button的高度;最后,通过符号@设置读取变量值,并进行替换,具体说明如下:
Android:text=”@string/button1”:相当于button1
Android:text="@string/button2":相当于button2
请读者不要小看上面的符号@,它用于提示XML文件的解析器要对@后面的名字进行解析,例如上面的 “@string/button1”,解析器会从values/string.xml中读取Button1这个变量值。
在文件string.xml中定义了TextView和Button的值,具体代码如下所示:
(2)编写文件ActivityMenu.java,其实现流程如下:
定义函数onCreate,先用于显示出main.xml描述的Layout,并设置两个Button为不可见状态。
定义函数onCreateOptionsMenu,用于生成menu,此函数是一个回调方法,只有当按下手机设备上的menu按钮后,Android才会生成一个包含两个子项的菜单。在具体实现上,将首先得到super函数调用后的返回值,并在onCreateOptionsMenu的最后返回;然后调用menu.add为menu添加一个项。
定义函数onOptionsItemSelected,此函数是一个回调方法,只有当按下手机设备上的menu按钮后,Android才会调用执行。而这个事件就是单击菜单里的某一项,即MenuItem。
文件ActivityMenu.java的主要代码如下所示:
至此,整个练习结束,程序执行后的效果如图5-25所示。当单击设备上的“MENU”按钮后会触发程序,并在屏幕中显示预先设置的已隐藏的两个按钮,如图5-26所示;当单击一个隐藏按钮后会显示一个按钮界面,如图5-27所示。
▲如图5-26
▲图5-27 显示按钮界面
相关文章推荐
- Android登录界面如何实现PC版腾讯QQ的“空值判断提醒小窗”效果
- Android软键盘(六)如何监听到软件盘显示与隐藏的事件,完美实现登录界面
- Android之界面切换并且图标显示状态效果实现
- Android 类似未读短信,电话图标显示数字效果如何实现的
- 如何实现Android界面组件的抖动效果
- Android用shareUserID实现多个Activity显示在同一界面
- Android实现通用的ActivityGroup(效果类似Android微博客户端主界面),强烈建议不要再使用TabActivity
- Android实现通用的ActivityGroup(效果类似Android微博客户端主界面),强烈建议不要再使用TabActivity
- android中如何实现进入一个界面不做任何动作过10秒钟自动跳转到其他activity?
- android实现应用程序只有在第一次启动时显示引导界面 ,以后就不在显示了
- Android中界面实现全屏显示的两种方式
- 【Android 个人理解(三)】从源码剖析如何实现实现全屏效果
- Android实现多个TextView同时显示跑马灯效果
- Android小技巧:如何实现“再按一次退出程序”效果
- android界面无标题栏和全屏效果的实现方式
- 【Android界面实现】实现底部扇形展开菜单效果
- Android 实现密码输入框动态明文/密文切换显示效果
- Winform中如何实现下拉树效果(类似于ComboBox下拉时显示的是树状结构)
- Android 简单实现显示密码效果
- Android中如何使用ViewPager实现类似laucher左右拖动效果