新聞中心

廣德網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,廣德網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為廣德近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的廣德做網(wǎng)站的公司定做!
Android菜單類型作為Google遠(yuǎn)景的重要組成部分,將進(jìn)一步推進(jìn)“隨時(shí)隨地為每個(gè)人提供信息”這一企業(yè)目標(biāo)的實(shí)現(xiàn),這不但實(shí)現(xiàn)了用戶的各方面的需求,還給了蘋果那里一些的壓力。
options menu就是通過(guò)按home鍵來(lái)顯示,context menu需要在view上按上2s后顯示。這兩種menu都有可以加入子菜單,子菜單不能種不能嵌套子菜單。options menu最多只能在屏幕最下面顯示6個(gè)菜單選項(xiàng),稱為icon menu,icon menu不能有checkable選項(xiàng)。多于6的菜單項(xiàng)會(huì)以more icon menu來(lái)調(diào)出。
稱為expanded menu。options menu通過(guò)activity的onCreateOptionsMenu來(lái)生成,這個(gè)函數(shù)只會(huì)在menu第一次生成時(shí)調(diào)用。任何想改變options menu的想法只能在onPrepareOptionsMenu來(lái)實(shí)現(xiàn),這個(gè)函數(shù)會(huì)在menu顯示前調(diào)用。onOptionsItemSelected 用來(lái)處理選中的菜單項(xiàng)。
context menu是跟某個(gè)具體的view綁定在一起,在activity種用registerForContextMenu來(lái)為某個(gè)view注冊(cè)context menu。context menu在顯示前都會(huì)調(diào)用onCreateContextMenu來(lái)生成menu。onContextItemSelected用來(lái)處理選中的菜單項(xiàng)。
Android菜單類型還提供了對(duì)菜單項(xiàng)進(jìn)行分組的功能,可以把相似功能的菜單項(xiàng)分成同一個(gè)組,這樣就可以通過(guò)調(diào)用setGroupCheckable,setGroupEnabled,setGroupVisible來(lái)設(shè)置菜單屬性,而無(wú)須單獨(dú)設(shè)置。
這是一個(gè)標(biāo)準(zhǔn)的插入一個(gè)菜單項(xiàng)的方法,菜單項(xiàng)的id為MENU_ITEM_INSERT。有意思的是下面這幾句代碼:
- version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" android:id="@+id/TextView01"/>
這到底有何用處呢?其實(shí)這是一種動(dòng)態(tài)菜單技術(shù)(也有點(diǎn)像插件機(jī)制),若某一個(gè)activity,其類型是”android.intent.category.ALTERNATIVE”,數(shù)據(jù)是”vnd.android.cursor.dir/vnd.google.note”的話。
系統(tǒng)就會(huì)為這個(gè)activity增加一個(gè)菜單項(xiàng)。在Android菜單類型中查看后發(fā)現(xiàn),沒(méi)有一個(gè)activity符合條件,所以這段代碼并沒(méi)有動(dòng)態(tài)添加出任何一個(gè)菜單項(xiàng)。怎么回事呢?查看代碼后發(fā)現(xiàn),原來(lái)是onPrepareOptionsMenu搞的鬼!這個(gè)函數(shù)在onCreateOptionsMenu之后運(yùn)行,下面這段代碼中。
由于Menu.CATEGORY_ALTERNATIVE是指向同一個(gè)組,所以把onCreateOptionsMenu中設(shè)置的菜單項(xiàng)給覆蓋掉了,而由于onPrepareOptionsMenu沒(méi)有給Menu.CATEGORY_ALTERNATIVE附新值,故Menu.CATEGORY_ALTERNATIVE還是為空。
文章標(biāo)題:詳細(xì)說(shuō)明Android菜單類型
轉(zhuǎn)載來(lái)源:http://m.fisionsoft.com.cn/article/cogieis.html


咨詢
建站咨詢
