• 友好界面menu


    友好界面menu

    控件menu的功能是为用户提供一个友好的界面显示效果。大部分的应用程序都包括两种人机互动方式,一种是直接通过GUIViews,其可以满足大部分的交互操作;另外一种是应用menu,当按下Menu按钮后,会弹出与当前活动状态下的应用程序相匹配的菜单。这两种方式有各自的优势,而且可以很好地相辅相成,即便用户可以从主界面完成大部分操作,但是适当地拓展menu功能可以更加完善应用程序。

    Android提供了3种菜单类型,分别为options menucontext menusub menu,其中较为常用的是options menucontext menuoptions menu是通过按home键来显示,而context menu需要在view上按上2秒后显示。这两种menu都可以加入子菜单,但子菜单不能再嵌套子菜单。options menu最多只能在屏幕最下方显示6个菜单选项,被称为icon menuicon menu不能有checkable选项。多于6的菜单项会以more icon menu来调出,被称为expanded menuoptionsmenu通过activityonCreateOptionsMenu来生成,这个函数只会在menu第一次生成时调用。任何想改变options menu的操作只能在onPrepareOptionsMenu来实现,这个函数会在menu显示前调用。onOptionsItemSelected 用来处理选中的菜单项。

    context menu是与某个具体的view绑定在一起的,在activity中用registerForContextMenu来为某个view注册context menucontext menu在显示前都会调用onCreateContextMenu来生成menuonContextItemSelected用来处理选中的菜单项。

    另外,Android还提供了对菜单项进行分组的功能,可以把具有相似功能的菜单项分成同一个组,这样就可以通过调用setGroupCheckablesetGroupEnabledsetGroupVisible来设置

    菜单属性,而无须单独设置。

    练习7:练习menu控件的用法

    1)新建工程文件,然后编写main.xml主文件。此文件是一个布局文件,具体代码如

    下所示:

     

     

     

    通过上述代码插入了1TextView控件和两个Button控件。其中,首先TextView显示文本,然后用layout_width设置Button的宽度,用layout_height设置Button的高度;最后,通过符号@设置读取变量值,并进行替换,具体说明如下:

    Android:text=@string/button1”:相当于<string name="button1">button1</string>

    Android:text="@string/button2":相当于<string name="button2">button2</string>

    请读者不要小看上面的符号@,它用于提示XML文件的解析器要对@后面的名字进行解析,例如上面的 @string/button1”,解析器会从values/string.xml中读取Button1这个变量值。

    在文件string.xml中定义了TextViewButton的值,具体代码如下所示:

     

     

     

     

    本文选自《Android江湖》一书

    图书详细信息:

    http://www.cnblogs.com/broadview/archive/2011/12/26/2302536.html

  • 相关阅读:
    [SQL]触发器把自增ID的值赋值给另外一个字段
    [SQL]T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)
    [二维码开发]二维码开发入门级demo
    [sql]sql函数coalesce返回第一个非空的值
    [编程小技巧]Notepad++中如何实现文本对比功能?
    [ExcelHome]VLOOKUP的别样用法
    [ExcelHome]15个常用的Excel函数公式,拿来即用
    [ExcelHome]学习Excel的网站
    Permutations
    Remove Duplicates from Sorted List II
  • 原文地址:https://www.cnblogs.com/broadview/p/2302543.html
Copyright © 2020-2023  润新知