Android开发:5-3、Menu、Dialog、Fragment
Menu、Dialog、Fragment
- Menu的相關(guān)API:
- Menu的一般使用方法:
- Dialog:
- 常用的4種Dialog:
- Fragment
Menu的相關(guān)API:
Menu的一般使用方法:
一、optionmenu:
1、使用XML定義菜單:
1、在res/menu下新建XML文件:
XML文件以<menu>為根標(biāo)簽,另外倆個(gè)標(biāo)簽<item><group>
<menu>標(biāo)簽沒(méi)有任何屬性,可以嵌套在<item>標(biāo)簽中,表示子菜單的形式
<item>下不能再嵌套<item>
<item>標(biāo)簽屬性:
1、id:菜單項(xiàng)資源id
2、menuCategory:菜單項(xiàng)種類
3、orderInCategor:同類菜單項(xiàng)排列順序
4、title:菜單項(xiàng)標(biāo)題,即菜單項(xiàng)顯示的文本
5、titleCondensed:菜單項(xiàng)短標(biāo)題,當(dāng)菜單項(xiàng)標(biāo)題太長(zhǎng)時(shí)會(huì)顯示該屬性值
6、icon:菜單項(xiàng)圖標(biāo)資源id
7、checkable:菜單項(xiàng)是否帶復(fù)選框
8、checked:再checkable=true時(shí),表示復(fù)選框默認(rèn)狀態(tài)是否被選中
9、visible:菜單項(xiàng)默認(rèn)狀態(tài)是否可視
10、enable:菜單項(xiàng)默認(rèn)狀態(tài)是否被激活
<group>標(biāo)簽屬性:
1、id
2、menuCategory:菜單項(xiàng)種類
3、orderInCategor:同類菜單項(xiàng)排列順序
4、checkableBehavior:設(shè)置該組所有菜單項(xiàng)上嚇?biāo)滥鉮i的選擇組件
1、all:顯示CheckBox組件
2、single:顯示Radio Button組件
3、none:不顯示組件
2、創(chuàng)建optionmenu菜單
3、編寫觸發(fā)事件
2、使用代碼定義菜單:
問(wèn)題:當(dāng)我們動(dòng)態(tài)添加icon時(shí)菜單不顯示icon,4.0之前可以顯示,4.0之后不顯示,原因是在菜單創(chuàng)建時(shí)通過(guò)系統(tǒng)的menuBuuider創(chuàng)建菜單,默認(rèn)icon的可顯示屬性為false,所以需要用到反射方法來(lái)獲取該屬性
該方法在菜單打開時(shí)觸發(fā)
二、contextMenu:
1、在需要上下文菜單的控件上注冊(cè)上下文菜單registerForContextMenu()
2、創(chuàng)建上下文菜單:
3、上下文菜單觸發(fā)事件:
三、子菜單:
在<item>中嵌套<menu>,在<menu>中在設(shè)置<item>
Dialog:
Dialog是模擬異步的,彈出對(duì)話框與用戶交互時(shí)后臺(tái)線程還是繼續(xù)執(zhí)行的
常用的4種Dialog:
1、常用方法:
2、一般使用步驟:
1、實(shí)例化一個(gè)Builder對(duì)象
2、用Builder對(duì)象設(shè)置Dialog對(duì)話框
3、不同按鈕的添加:
三類不同的按鈕的添加:
4、編寫響應(yīng)事件:
5、用Builder.create().show()顯示
推薦使用它的一個(gè)內(nèi)部類AlertDialog.Builder創(chuàng)建。使用Builder對(duì)象,可以設(shè)置AlertDialog的各種屬性,最后通過(guò)Builder.create()方法就可以得到AlertDialog對(duì)象。使用Builder.show()方法顯示對(duì)話框,他就會(huì)返回一個(gè)AlertDialog對(duì)象
Fragment
1、在Android3.0中引入了Fragment的概念,目的是為了解決不同屏幕分辨率的動(dòng)態(tài)和靈活的UI設(shè)計(jì)
2、Fragment必須被寫成可重用的模塊,因?yàn)镕ragment擁有自己的生命周期和布局,可以接受、處理用戶事件
3、Fragment不能單獨(dú)存在,它必須嵌入到Activity中,而且Fragment的生命周期直接受所在的Activity影響
4、在Activity運(yùn)行時(shí)(在onResume()之后,onPause()之前),可以單獨(dú)的操作每個(gè)Fragment,如添加或者刪除他們
5、執(zhí)行針對(duì)Fragment的事務(wù)時(shí),可以將事務(wù)添加到一個(gè)棧中,這個(gè)棧被Activity管理,入站的每一條即一次Fragment事務(wù)。這樣就可以在Fragment級(jí)支持返回鍵
1、Fragment生命周期:
2、Fragment常用API:
3、Fragment常用方法:
4、Fragment的一般使用步驟:
1、靜態(tài)使用Fragment:
2、動(dòng)態(tài)使用Fragment:
總結(jié)
以上是生活随笔為你收集整理的Android开发:5-3、Menu、Dialog、Fragment的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言实现函数给主函数中的指针赋值的方法
- 下一篇: Protobuf从安装到配置整理帖