




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Android基礎(chǔ)與應(yīng)用開發(fā)教程大連理工大學(xué)出版社Android大連理工大學(xué)出版社1Android菜單和對話框第7章Android第7章7.1Android菜單7.1Android菜單37.1Android菜單7.1Android菜單47.1Android菜單在AndroidSDK中,創(chuàng)建菜單對象不必從零開始。因為一個活動只與一個菜單相關(guān)聯(lián),因此Android創(chuàng)建這個菜單并將它傳遞給onCreateOptionsMenu()回調(diào)方法。這個方法讓菜單和菜單項聯(lián)系在一起,見下述代碼:7.1.1文本框組件TextView7.1Android菜單在AndroidSDK中,創(chuàng)57.1Android菜單1.Activity類的回調(diào)方法onOptionsItemSelected()單擊菜單項時Android調(diào)用Activity類的回調(diào)方法onOptionsItemSelected(),其代碼如下:7.1.2菜單項的響應(yīng)7.1Android菜單1.Activity類的回67.1Android菜單2.通過監(jiān)聽器響應(yīng)菜單項為了得到較好的性能,通常重載onOptionsItemSelected)方法來響應(yīng)菜單。7.1.2菜單項的響應(yīng)7.1Android菜單2.通過監(jiān)聽器響應(yīng)菜單項7.177.1Android菜單3.使用Intent響應(yīng)菜單項利用MenuItem類的setIntent(intent)方法可將菜單項與意圖關(guān)聯(lián)起來(菜單項默認(rèn)不與意圖關(guān)聯(lián))。但關(guān)聯(lián)后,別的東西就不再處理菜單項了,而是默認(rèn)地利用startActivity(intent)去調(diào)用意圖。為了能順利工作,所有處理程序,尤其是onOptionsItemSelected()方法,應(yīng)當(dāng)調(diào)用其父類的onOptionsItemSelected)方法去處理不被處理的項。也就是說,系統(tǒng)給onOptionsItemSelected()一次機(jī)會首先去處理菜單項。(當(dāng)然,接著就輪到監(jiān)聽器了)。如果不重載onOptionsItemSelected)方法,則Android架構(gòu)的基類就會對菜單項做激活意圖所需的事情;如果重載了這個方法且又不想用這個菜單項,就必須調(diào)用父方法,它會方便意圖的調(diào)用。因此我們的做法是:要么不重載onOptionsItemSelected方法,要么重載它并激活不想處理的菜單項的父方法。7.1.2菜單項的響應(yīng)7.1Android菜單3.使用Intent響應(yīng)菜單項87.1Android菜單7.1.3創(chuàng)建菜單的測試工具7.1Android菜單7.1.3創(chuàng)建菜單的測試工97.1Android菜單實現(xiàn)這個測試工具的步驟共分7步:①創(chuàng)建XML布局文件;②創(chuàng)建該布局文件的活動類;③建立菜單;④添加菜單項;⑤添加二級菜單項;⑥添加菜單項的響應(yīng);⑦修改AndroidManifest.xml文件。7.1.3創(chuàng)建菜單的測試工具7.1Android菜單實現(xiàn)這個測試工具的步驟共分7107.2其他菜單類型注意,當(dāng)應(yīng)用程序具有超過屏幕所能顯示的更多菜單項時,在屏幕的右下角就會自動出現(xiàn)一個More菜單項,它就是所謂的擴(kuò)展型(expanded)菜單。擴(kuò)展型菜單有局限性,它不能使用圖標(biāo)。用戶只要單擊More菜單項就能看到這些無圖標(biāo)的菜單。7.2.1擴(kuò)展型菜單Android不僅支持文本,也支持圖像或圖標(biāo)菜單,即用圖代替文本的菜單。但使用圖標(biāo)菜單需注意幾個限制:①不能用圖標(biāo)菜單表示擴(kuò)展型菜單;②圖標(biāo)菜單項不支持選中標(biāo)志;③如果圖標(biāo)菜單項中的文本過長,文本會被截短(也適用于文本菜單項),這取決于顯示尺度。7.2.2圖標(biāo)菜單7.2其他菜單類型注意,當(dāng)應(yīng)用程序具有超過屏幕所能顯示117.2其他菜單類型一個菜單對象可包含多個子菜單(SubMenu)對象。每個子菜單對象都可調(diào)用Menu.addSubMenu()方法添加到菜單對象內(nèi)(見代碼7-9)。向子菜單中添加菜單項與向菜單中添加菜單項相同,因為子菜單是從菜單對象派生出來的。但是,不能再向子菜單中添加另外的子菜單。圖7-1給出了菜單與子菜單之間的結(jié)構(gòu)關(guān)系。7.2.3子菜單大多數(shù)Windows應(yīng)用程序都帶有諸如File,Edit,View,Open,Close和Exit等菜單。這些菜單稱為系統(tǒng)菜單。AndroidSDK創(chuàng)建選項菜單時,系統(tǒng)也可插人類似的一套菜單。但是AndroidSDK2.0版并不能添加這些菜單,程序員可以通過代碼添加系統(tǒng)菜單。調(diào)用基類(Activity)的onCreateOptionsMenu()方法可將系統(tǒng)菜單添加到由常數(shù)CATEGORY_SYSTEM標(biāo)識的組內(nèi)。7.2.4系統(tǒng)菜單7.2其他菜單類型一個菜單對象可包含多個子菜單(Sub127.2其他菜單類型桌面程序廣泛使用上下文菜單,譬如在Windows中右擊某個UI元素就可以訪問上下文菜單。Android通過所謂長單擊的活動支持上下文菜單。長單擊是鼠標(biāo)在Andriod視圖上按下的時間稍長。在手機(jī)類的設(shè)備上鼠標(biāo)單擊可用多種辦法實現(xiàn),這取決于導(dǎo)航機(jī)制:在手機(jī)上下述幾種情況都相當(dāng)于鼠標(biāo)單擊:按手機(jī)上的轉(zhuǎn)輪、輕擊或輕按手機(jī)觸摸板,或手機(jī)按移動箭頭按鈕并單擊箭頭組中間的按鈕等??傊?,不論設(shè)備上鼠標(biāo)單擊如何實現(xiàn),鼠標(biāo)單擊持續(xù)較長時間都是長單擊。7.2.5上下文菜單7.2其他菜單類型桌面程序廣泛使用上下文菜單,譬如在137.2其他菜單類型7.2.5上下文菜單7.2其他菜單類型7.2.5上下文菜單147.2其他菜單類型7.2.6替換菜單Android引人了一個新的菜單概念,即替換(alternative)菜單,它可把替換菜單項用作選項菜單、子菜單和上下文菜單的一部分。其特點是多個Android應(yīng)用程序可相互使用它,即某應(yīng)用程序包含另一應(yīng)用程序的菜單,所以它是Android應(yīng)用程序間通信或?qū)嵱眉軜?gòu)的一部分。選中選擇菜單時,目標(biāo)應(yīng)用程序或活動就會用所需的數(shù)據(jù)URL啟動,并使用被傳送意圖中的數(shù)據(jù)URL?,F(xiàn)在需要使用第4章中有關(guān)內(nèi)容提供者、內(nèi)容URI、內(nèi)容MIME類型和意圖等概念。7.2其他菜單類型7.2.6替換菜單Android157.2其他菜單類型7.2.7菜單對數(shù)據(jù)變化的響應(yīng)到目前為止,我們涉及的只是靜態(tài)菜單,它們不會隨屏幕變化動態(tài)地改變。創(chuàng)建動態(tài)菜單必須使用Android提供的onPrepareOptionsMenu)方法[6],它為待顯示在屏幕上的標(biāo)準(zhǔn)選項菜單做準(zhǔn)備。菜單每次顯示時,它在該菜單顯示之前被調(diào)用。使用此方法能有效地啟用/禁用項目,或動態(tài)修改其內(nèi)容。默認(rèn)的實現(xiàn)能根據(jù)活動的狀態(tài)更新系統(tǒng)菜單項目。派生類應(yīng)該始終用基類的實現(xiàn)調(diào)用。設(shè)計菜單功能時應(yīng)牢記這些。其參數(shù)為上次顯示或onCreateOptionsMenu()首次初始化的選項菜單。若返回true則顯示要顯示的菜單,返回false將不會顯示菜單。7.2其他菜單類型7.2.7菜單對數(shù)據(jù)變化的響應(yīng)到167.3通過XML文件加載菜單7.3.1XML菜單資源文件的結(jié)構(gòu)定義菜單的XML文件的代碼示于代碼7-14中。其中用同等級的menu標(biāo)記開始,后面跟著一系列<group>標(biāo)記定義菜單項組,以及一系列<item>定義菜單項。每個組合菜單項都分別用自己的@+記指定其記。此外,每個記后面都關(guān)聯(lián)一個符號名字。如menuGroup_main和menu_testPick等。7.3通過XML文件加載菜單7.3.1XML菜單177.3通過XML文件加載菜單7.3.2XML菜單資源文件的展開假定代碼7-14的XML文件名為my_menu.xml,并存人/res/menu子目錄內(nèi)。這將會自動生成一個資源引用id,即R,menu.my_menuoAndroid提供了一個android.view.MenuInflater類,它可借助這個菜單資源引用id,用XML文件中的菜單定義來填寫Menu對象。具體的實現(xiàn)代碼如下:7.3通過XML文件加載菜單7.3.2XML菜單187.3通過XML文件加載菜單7.3.3對XML菜單項的響應(yīng)響應(yīng)XML菜單項的方式與編程創(chuàng)建菜單的響應(yīng)方式相同,但也有微小的差別。像以前一樣,將在onOptionsItemSelected回調(diào)方法中處理菜單項的響應(yīng)。但此時可從Android資源獲得某些幫助(見4.1.3節(jié))。如7.3.1節(jié)所述,Android同時自動生成XML文件的資源ID和菜單項ID來區(qū)別各菜單項。這有利于菜單項的響應(yīng),因為不需要在XML菜單文件內(nèi)給這些ID定義常數(shù)和考慮其唯一性,因為資源ID生成過程已考慮到這些。7.3通過XML文件加載菜單7.3.3對XML菜197.3通過XML文件加載菜單7.3.4附加的XML菜單標(biāo)記在構(gòu)造XML文件時,必須知道可能使用的各種XML標(biāo)記。查看AndroidSDK中的API演示(demos)就能很快獲得這些信息。這些AndroidAPI演示包含了一系列菜單來幫助查看Android的各種編程問題??匆幌?res/menu子目錄也可發(fā)現(xiàn)許多XML菜單的例子。在此簡述一些重要的標(biāo)記。7.3通過XML文件加載菜單7.3.4附加的XM207.3通過XML文件加載菜單7.3.4附加的XML菜單標(biāo)記7.3通過XML文件加載菜單7.3.4附加的XM217.4Android對話框7.4.1警告對話框警告對話框(Alert)通常包含確認(rèn)表單或調(diào)試的簡單消息。考慮下面HTML頁面中常見的調(diào)試示例:Android未直接提供創(chuàng)建警告對話框的函數(shù),我們只能用警告對話框構(gòu)建器android.app.AlertDialog.Builde:類來構(gòu)建和處理警告對話框。該構(gòu)建器類構(gòu)建的對話框可執(zhí)行的任務(wù)是:①讀取消息并用Yes或No進(jìn)行響應(yīng);②從其列表中挑選一個或多個項目;③觀察應(yīng)用程序進(jìn)展情況;④從一組選項中選取一個選項;⑤繼續(xù)運(yùn)行程序之前提示用戶進(jìn)行響應(yīng)。7.4Android對話框7.4.1警告對話框警227.4Android對話框7.4.1警告對話框構(gòu)建這些對話框和用菜單項激活該對話框需遵循的步驟為:①構(gòu)建Builder對象;②設(shè)置其顯示參數(shù),譬如按鈕數(shù)量、項目列表等;③設(shè)置這些按鈕的回調(diào)方法;④啟動Builder具體構(gòu)建對話框,其類型取決于Builder對象的設(shè)置;⑤利用Dialog.show()顯示對話框。7.4Android對話框7.4.1警告對話框構(gòu)237.4Android對話框7.4.2提示對話框創(chuàng)建提示對話框所要遵循的步驟是:①為提示對話框提供一個布局視圖;②將該布局加載到視圖類內(nèi);③構(gòu)建一個Builder對象;④在Builder對象內(nèi)設(shè)置該視圖;⑤設(shè)置按鈕和它們的回調(diào)來捕捉輸人的文本;⑥用警告對話框builder來創(chuàng)建該對話框;⑦顯示該對話框。7.4Android對話框7.4.2提示對話框創(chuàng)247.5進(jìn)度條對話框進(jìn)度條對話框(ProgressDialog)是AlertDialog類的擴(kuò)展,它可用兩種形式顯示任務(wù)的進(jìn)度:用紡車形式顯示進(jìn)度(對于進(jìn)度不確定的任務(wù),見圖7-6)和用進(jìn)度條顯示進(jìn)度(而對于進(jìn)度確定的任務(wù),見圖7-7)。進(jìn)度條對話框也可以提供按鈕,譬如取消下載的按鈕等。7.5進(jìn)度條對話框進(jìn)度條對話框(ProgressDia257.5進(jìn)度條對話框7.5.1顯示進(jìn)度條顯示進(jìn)度條動畫的操作步驟為:①用ProgressDialog類的構(gòu)造函數(shù)ProgressDialog(Context)進(jìn)行初始化;②用setProgressStyle(int)設(shè)置進(jìn)度樣式為STYLEHORIZONTAL,并設(shè)置其他屬性,如消息;③調(diào)用show)或用onCreateDialog(int)回調(diào)來返回ProgressDialog,為顯示對話做好準(zhǔn)備;④用迄今完成的總百分量調(diào)用setProgress(int)或用該總百分量與增量值之和調(diào)用incrementProgressBy(int)都可增加顯示的進(jìn)度量。7.5進(jìn)度條對話框7.5.1顯示進(jìn)度條顯示進(jìn)度條267.6托管對話框托管對話框(manageddialog)是在其生命周期內(nèi)由活動管理的對話框。前面諸例子中所創(chuàng)建的對話框,其生命周期都是由對話框自己管理的。自己管理的優(yōu)點是代碼比較簡單明了,需要時就創(chuàng)建,完成后就自動銷毀;缺點是每次調(diào)用都需要創(chuàng)建對話框?qū)ο?,?nèi)存開銷比較大。而托管對話框只創(chuàng)建一次就能多次使用,所以其核心概念是復(fù)用(Multiplex),它是一種資源池概念。7.6托管對話框托管對話框(manageddialo277.7本章小結(jié)我們對于Android的菜單和對話框做了較全面的介紹,它們是UI編程中的重要組件。通過這些介紹,我們可了解Android中各種菜單的使用方法,包括子菜單、圖標(biāo)菜單、上下文菜單和替換菜單。同時闡述了用XML菜單資源來提高菜單的效率的問題。我們還建立了菜單的測試工具,它不僅可用于測試菜單,而且可用于其他程序的測試。菜單提供了激活和測試新功能的簡單手段。本章也闡述了Android對話框所具有的特殊挑戰(zhàn)性。其中包括異步對話框和模態(tài)對話框的意義,并介紹了托管對話框的意義和用法。7.7本章小結(jié)我們對于Android的菜單和對話框做了28感謝觀看感謝觀看29Android基礎(chǔ)與應(yīng)用開發(fā)教程大連理工大學(xué)出版社Android大連理工大學(xué)出版社30Android菜單和對話框第7章Android第7章7.1Android菜單7.1Android菜單327.1Android菜單7.1Android菜單337.1Android菜單在AndroidSDK中,創(chuàng)建菜單對象不必從零開始。因為一個活動只與一個菜單相關(guān)聯(lián),因此Android創(chuàng)建這個菜單并將它傳遞給onCreateOptionsMenu()回調(diào)方法。這個方法讓菜單和菜單項聯(lián)系在一起,見下述代碼:7.1.1文本框組件TextView7.1Android菜單在AndroidSDK中,創(chuàng)347.1Android菜單1.Activity類的回調(diào)方法onOptionsItemSelected()單擊菜單項時Android調(diào)用Activity類的回調(diào)方法onOptionsItemSelected(),其代碼如下:7.1.2菜單項的響應(yīng)7.1Android菜單1.Activity類的回357.1Android菜單2.通過監(jiān)聽器響應(yīng)菜單項為了得到較好的性能,通常重載onOptionsItemSelected)方法來響應(yīng)菜單。7.1.2菜單項的響應(yīng)7.1Android菜單2.通過監(jiān)聽器響應(yīng)菜單項7.1367.1Android菜單3.使用Intent響應(yīng)菜單項利用MenuItem類的setIntent(intent)方法可將菜單項與意圖關(guān)聯(lián)起來(菜單項默認(rèn)不與意圖關(guān)聯(lián))。但關(guān)聯(lián)后,別的東西就不再處理菜單項了,而是默認(rèn)地利用startActivity(intent)去調(diào)用意圖。為了能順利工作,所有處理程序,尤其是onOptionsItemSelected()方法,應(yīng)當(dāng)調(diào)用其父類的onOptionsItemSelected)方法去處理不被處理的項。也就是說,系統(tǒng)給onOptionsItemSelected()一次機(jī)會首先去處理菜單項。(當(dāng)然,接著就輪到監(jiān)聽器了)。如果不重載onOptionsItemSelected)方法,則Android架構(gòu)的基類就會對菜單項做激活意圖所需的事情;如果重載了這個方法且又不想用這個菜單項,就必須調(diào)用父方法,它會方便意圖的調(diào)用。因此我們的做法是:要么不重載onOptionsItemSelected方法,要么重載它并激活不想處理的菜單項的父方法。7.1.2菜單項的響應(yīng)7.1Android菜單3.使用Intent響應(yīng)菜單項377.1Android菜單7.1.3創(chuàng)建菜單的測試工具7.1Android菜單7.1.3創(chuàng)建菜單的測試工387.1Android菜單實現(xiàn)這個測試工具的步驟共分7步:①創(chuàng)建XML布局文件;②創(chuàng)建該布局文件的活動類;③建立菜單;④添加菜單項;⑤添加二級菜單項;⑥添加菜單項的響應(yīng);⑦修改AndroidManifest.xml文件。7.1.3創(chuàng)建菜單的測試工具7.1Android菜單實現(xiàn)這個測試工具的步驟共分7397.2其他菜單類型注意,當(dāng)應(yīng)用程序具有超過屏幕所能顯示的更多菜單項時,在屏幕的右下角就會自動出現(xiàn)一個More菜單項,它就是所謂的擴(kuò)展型(expanded)菜單。擴(kuò)展型菜單有局限性,它不能使用圖標(biāo)。用戶只要單擊More菜單項就能看到這些無圖標(biāo)的菜單。7.2.1擴(kuò)展型菜單Android不僅支持文本,也支持圖像或圖標(biāo)菜單,即用圖代替文本的菜單。但使用圖標(biāo)菜單需注意幾個限制:①不能用圖標(biāo)菜單表示擴(kuò)展型菜單;②圖標(biāo)菜單項不支持選中標(biāo)志;③如果圖標(biāo)菜單項中的文本過長,文本會被截短(也適用于文本菜單項),這取決于顯示尺度。7.2.2圖標(biāo)菜單7.2其他菜單類型注意,當(dāng)應(yīng)用程序具有超過屏幕所能顯示407.2其他菜單類型一個菜單對象可包含多個子菜單(SubMenu)對象。每個子菜單對象都可調(diào)用Menu.addSubMenu()方法添加到菜單對象內(nèi)(見代碼7-9)。向子菜單中添加菜單項與向菜單中添加菜單項相同,因為子菜單是從菜單對象派生出來的。但是,不能再向子菜單中添加另外的子菜單。圖7-1給出了菜單與子菜單之間的結(jié)構(gòu)關(guān)系。7.2.3子菜單大多數(shù)Windows應(yīng)用程序都帶有諸如File,Edit,View,Open,Close和Exit等菜單。這些菜單稱為系統(tǒng)菜單。AndroidSDK創(chuàng)建選項菜單時,系統(tǒng)也可插人類似的一套菜單。但是AndroidSDK2.0版并不能添加這些菜單,程序員可以通過代碼添加系統(tǒng)菜單。調(diào)用基類(Activity)的onCreateOptionsMenu()方法可將系統(tǒng)菜單添加到由常數(shù)CATEGORY_SYSTEM標(biāo)識的組內(nèi)。7.2.4系統(tǒng)菜單7.2其他菜單類型一個菜單對象可包含多個子菜單(Sub417.2其他菜單類型桌面程序廣泛使用上下文菜單,譬如在Windows中右擊某個UI元素就可以訪問上下文菜單。Android通過所謂長單擊的活動支持上下文菜單。長單擊是鼠標(biāo)在Andriod視圖上按下的時間稍長。在手機(jī)類的設(shè)備上鼠標(biāo)單擊可用多種辦法實現(xiàn),這取決于導(dǎo)航機(jī)制:在手機(jī)上下述幾種情況都相當(dāng)于鼠標(biāo)單擊:按手機(jī)上的轉(zhuǎn)輪、輕擊或輕按手機(jī)觸摸板,或手機(jī)按移動箭頭按鈕并單擊箭頭組中間的按鈕等??傊徽撛O(shè)備上鼠標(biāo)單擊如何實現(xiàn),鼠標(biāo)單擊持續(xù)較長時間都是長單擊。7.2.5上下文菜單7.2其他菜單類型桌面程序廣泛使用上下文菜單,譬如在427.2其他菜單類型7.2.5上下文菜單7.2其他菜單類型7.2.5上下文菜單437.2其他菜單類型7.2.6替換菜單Android引人了一個新的菜單概念,即替換(alternative)菜單,它可把替換菜單項用作選項菜單、子菜單和上下文菜單的一部分。其特點是多個Android應(yīng)用程序可相互使用它,即某應(yīng)用程序包含另一應(yīng)用程序的菜單,所以它是Android應(yīng)用程序間通信或?qū)嵱眉軜?gòu)的一部分。選中選擇菜單時,目標(biāo)應(yīng)用程序或活動就會用所需的數(shù)據(jù)URL啟動,并使用被傳送意圖中的數(shù)據(jù)URL?,F(xiàn)在需要使用第4章中有關(guān)內(nèi)容提供者、內(nèi)容URI、內(nèi)容MIME類型和意圖等概念。7.2其他菜單類型7.2.6替換菜單Android447.2其他菜單類型7.2.7菜單對數(shù)據(jù)變化的響應(yīng)到目前為止,我們涉及的只是靜態(tài)菜單,它們不會隨屏幕變化動態(tài)地改變。創(chuàng)建動態(tài)菜單必須使用Android提供的onPrepareOptionsMenu)方法[6],它為待顯示在屏幕上的標(biāo)準(zhǔn)選項菜單做準(zhǔn)備。菜單每次顯示時,它在該菜單顯示之前被調(diào)用。使用此方法能有效地啟用/禁用項目,或動態(tài)修改其內(nèi)容。默認(rèn)的實現(xiàn)能根據(jù)活動的狀態(tài)更新系統(tǒng)菜單項目。派生類應(yīng)該始終用基類的實現(xiàn)調(diào)用。設(shè)計菜單功能時應(yīng)牢記這些。其參數(shù)為上次顯示或onCreateOptionsMenu()首次初始化的選項菜單。若返回true則顯示要顯示的菜單,返回false將不會顯示菜單。7.2其他菜單類型7.2.7菜單對數(shù)據(jù)變化的響應(yīng)到457.3通過XML文件加載菜單7.3.1XML菜單資源文件的結(jié)構(gòu)定義菜單的XML文件的代碼示于代碼7-14中。其中用同等級的menu標(biāo)記開始,后面跟著一系列<group>標(biāo)記定義菜單項組,以及一系列<item>定義菜單項。每個組合菜單項都分別用自己的@+記指定其記。此外,每個記后面都關(guān)聯(lián)一個符號名字。如menuGroup_main和menu_testPick等。7.3通過XML文件加載菜單7.3.1XML菜單467.3通過XML文件加載菜單7.3.2XML菜單資源文件的展開假定代碼7-14的XML文件名為my_menu.xml,并存人/res/menu子目錄內(nèi)。這將會自動生成一個資源引用id,即R,menu.my_menuoAndroid提供了一個android.view.MenuInflater類,它可借助這個菜單資源引用id,用XML文件中的菜單定義來填寫Menu對象。具體的實現(xiàn)代碼如下:7.3通過XML文件加載菜單7.3.2XML菜單477.3通過XML文件加載菜單7.3.3對XML菜單項的響應(yīng)響應(yīng)XML菜單項的方式與編程創(chuàng)建菜單的響應(yīng)方式相同,但也有微小的差別。像以前一樣,將在onOptionsItemSelected回調(diào)方法中處理菜單項的響應(yīng)。但此時可從Android資源獲得某些幫助(見4.1.3節(jié))。如7.3.1節(jié)所述,Android同時自動生成XML文件的資源ID和菜單項ID來區(qū)別各菜單項。這有利于菜單項的響應(yīng),因為不需要在XML菜單文件內(nèi)給這些ID定義常數(shù)和考慮其唯一性,因為資源ID生成過程已考慮到這些。7.3通過XML文件加載菜單7.3.3對XML菜487.3通過XML文件加載菜單7.3.4附加的XML菜單標(biāo)記在構(gòu)造XML文件時,必須知道可能使用的各種XML標(biāo)記。查看AndroidSDK中的API演示(demos)就能很快獲得這些信息。這些AndroidAPI演示包含了一系列菜單來幫助查看Android的各種編程問題。看一下/res/menu子目錄也可發(fā)現(xiàn)許多XML菜單的例子。在此簡述一些重要的標(biāo)記。7.3通過XML文件加載菜單7.3.4附加的XM497.3通過XML文件加載菜單7.3.4附加的XML菜單標(biāo)記7.3通過XML文件加載菜單7.3.4附加的XM507.4Android對話框7.4.1警告對話框警告對話框(Alert)通常包含確認(rèn)表單或調(diào)試的簡單消息??紤]下面HTML頁面中常見的調(diào)試示例:Android未直接提供創(chuàng)建警告對話框的函數(shù),我們只能用警告對話框構(gòu)建器android.app.AlertDialog.Builde:類來構(gòu)建和處理警告對話框。該構(gòu)建器類構(gòu)建的對話框可執(zhí)行的任務(wù)是:①讀取消息并用Yes或No進(jìn)行響應(yīng);②從其列表中挑選一個或多個項目;③觀察應(yīng)用程序進(jìn)展情況;④從一組選項中選取一個選項;⑤繼續(xù)運(yùn)行程序之前提示用戶進(jìn)行響應(yīng)。7.4Android對話框7.4.1警告對話框警517.4Android對話框7.4.1警告對話框構(gòu)建這些對話框和用菜單項激活該對話框需遵循的步驟為:①構(gòu)建Builder對象;②設(shè)置其顯示參數(shù),譬如按鈕數(shù)量、項目列表等;③設(shè)置這些按鈕的回調(diào)方法;④啟動Builder具體構(gòu)建對話框,其類型取決于Builder對象的設(shè)置;⑤利用Dialog.show()顯示對話框。7.4Android對話框7.4.1警告對話框構(gòu)527.4Android對話框7.4.2提示對話框創(chuàng)建提示對話框所要遵循的步驟是:①為提示對話框提供一個布局視
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遵義醫(yī)科大學(xué)《產(chǎn)品交互設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 唐山工業(yè)職業(yè)技術(shù)學(xué)院《中醫(yī)四診技能》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北東方學(xué)院《幼兒園教育環(huán)境創(chuàng)設(shè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實操-代理記賬公司的利潤計算
- 入黨積極分子民主表
- 遼寧工程技術(shù)大學(xué)《男裝制版與工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林航空職業(yè)技術(shù)學(xué)院《專題設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 焦作大學(xué)《新聞評論與體育》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東酒店管理職業(yè)技術(shù)學(xué)院《抽樣設(shè)計與推斷》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北大學(xué)知行學(xué)院《結(jié)構(gòu)化學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 學(xué)做小小按摩師(課件)全國通用三年級上冊綜合實踐活動
- 陰道鏡檢查臨床醫(yī)學(xué)知識及操作方法講解培訓(xùn)PPT
- AI09人工智能-多智能體
- 建設(shè)工程前期工作咨詢費(fèi)收費(fèi)計算表
- 行為矯正技術(shù)-課件
- 八年級物理下冊《實驗題》專項練習(xí)題及答案(人教版)
- 腦血管造影術(shù)后病人的護(hù)理查房
- 5.0Mt-a煉焦煤選煤廠初步設(shè)計-畢業(yè)論文
- 美術(shù)高考色彩備考教學(xué)策略
- 2023智聯(lián)招聘行測題庫
- 中國工筆花鳥畫
評論
0/150
提交評論