友好界面menu
友好界面menu
控件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”:相當于<string name="button1">button1</string>
Android:text="@string/button2":相當于<string name="button2">button2</string>
請讀者不要小看上面的符號@,它用于提示XML文件的解析器要對@后面的名字進行解析,例如上面的 “@string/button1”,解析器會從values/string.xml中讀取Button1這個變量值。
在文件string.xml中定義了TextView和Button的值,具體代碼如下所示:
?
?
?
?
本文選自《Android江湖》一書
圖書詳細信息:
http://www.cnblogs.com/broadview/archive/2011/12/26/2302536.html轉載于:https://www.cnblogs.com/broadview/archive/2011/12/26/2302543.html
總結
- 上一篇: 李东生:管理者不能变成诸葛先生
- 下一篇: Vim快捷键分类