APP開發(fā)實(shí)戰(zhàn)78-Fragment簡介

20 Fragment介紹

20.1Fragment簡介

Fragment表示Activity中的行為或用戶界面部分【俗可以將多個片段組合在一個 Activity 中來構(gòu)建多窗格 UI,以及在多個 Activity 中重復(fù)使用某個片段豫喧⊙ヵ耍可以將片段視為 Activity 的模塊化組成部分,它具有自己的生命周期羞延,能接收自己的輸入事件渣淳,并且可以在 Activity 運(yùn)行時(shí)添加或刪除片段(有點(diǎn)像可以在不同 Activity 中重復(fù)使用的“子 Activity”)。

片段必須始終嵌入在 Activity 中伴箩,其生命周期直接受宿主 Activity 生命周期的影響入愧。 例如晶乔,當(dāng) Activity 暫停時(shí)拗窃,其中的所有片段也會暫停;當(dāng) Activity 被銷毀時(shí)敷硅,所有片段也會被銷毀巩步。

當(dāng) Activity 正在運(yùn)行(處于已恢復(fù)生命周期狀態(tài))時(shí)旁赊,可以獨(dú)立操縱每個片段,如添加或移除它們椅野。 當(dāng)執(zhí)行此類片段事務(wù)時(shí)终畅,也可以將其添加到由 Activity 管理的返回棧—Activity 中的每個返回棧條目都是一條已發(fā)生片段事務(wù)的記錄鳄橘。 返回棧讓用戶可以通過按“返回”按鈕撤消片段事務(wù)(后退)声离。

當(dāng)將片段作為 Activity 布局的一部分添加時(shí),它存在于 Activity 視圖層次結(jié)構(gòu)的某個ViewGroup內(nèi)部瘫怜,并且片段會定義其自己的視圖布局术徊。可以通過在 Activity 的布局文件中聲明片段鲸湃,將其作為??元素插入Activity 布局中赠涮,或者通過將其添加到某個現(xiàn)有ViewGroup,利用應(yīng)用代碼進(jìn)行插入暗挑。不過笋除,片段并非必須成為 Activity 布局的一部分;還可以將沒有自己 UI 的片段用作 Activity 的不可見工作線程炸裆。

Android在 Android 3.0(API 11 級)中引入了片段垃它,主要是為了給大屏幕(如平板電腦)上更加動態(tài)和靈活的 UI 設(shè)計(jì)提供支持。由于平板電腦的屏幕比手機(jī)屏幕大得多,因此可用于組合和交換 UI 組件的空間更大国拇。利用片段實(shí)現(xiàn)此類設(shè)計(jì)時(shí)洛史,無需管理對視圖層次結(jié)構(gòu)的復(fù)雜更改。 通過將 Activity 布局分成片段酱吝,可以在運(yùn)行時(shí)修改 Activity 的外觀也殖,并在由 Activity 管理的返回棧中保留這些更改。

例如以新聞應(yīng)用為例—在平板電腦尺寸的設(shè)備上運(yùn)行時(shí)务热,該應(yīng)用可以在Activity A中嵌入兩個片段忆嗜。不過,在手機(jī)尺寸的屏幕上崎岂,沒有足以儲存兩個片段的空間捆毫,因此Activity A只包括用于顯示文章列表的片段,當(dāng)用戶選擇文章時(shí)冲甘,它會啟動Activity B冻璃,其中包括用于閱讀文章的第二個片段。因此损合,應(yīng)用可通過重復(fù)使用不同組合的片段來同時(shí)支持平板電腦和手機(jī),如圖所示娘纷。

參考:https://developer.android.com/guide/components/fragments.html

Fragment優(yōu)點(diǎn):

Fragment可以使你能夠?qū)ctivity分離成多個可重用的組件嫁审,每個都有它自己的生命周期和UI。

Fragment可以輕松得創(chuàng)建動態(tài)靈活的UI設(shè)計(jì)赖晶,可以適應(yīng)于不同的屏幕尺寸律适。從手機(jī)到平板電腦。

Fragment是一個獨(dú)立的模塊,緊緊地與activity綁定在一起遏插∥婊撸可以運(yùn)行中動態(tài)地移除、加入胳嘲、交換等厂僧。

Fragment提供一個新的方式讓你在不同的安卓設(shè)備上統(tǒng)一你的UI。

Fragment 解決Activity間的切換不流暢了牛,輕量切換颜屠。

Fragment 替代TabActivity做導(dǎo)航,性能更好鹰祸。

Fragment 在4.2.版本中新增嵌套fragment使用方法甫窟,能夠生成更好的界面效果。

Fragment做局部內(nèi)容更新更方便蛙婴,原來為了到達(dá)這一點(diǎn)要把多個布局放到一個activity里面粗井,現(xiàn)在可以用多Fragment來代替,只有在需要的時(shí)候才加載Fragment,提高性能浇衬。

Fragment可以從startActivityForResult中接收到返回結(jié)果,但是View不能懒构。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市径玖,隨后出現(xiàn)的幾起案子痴脾,更是在濱河造成了極大的恐慌,老刑警劉巖梳星,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赞赖,死亡現(xiàn)場離奇詭異,居然都是意外死亡冤灾,警方通過查閱死者的電腦和手機(jī)前域,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來韵吨,“玉大人匿垄,你說我怎么就攤上這事」榉郏” “怎么了椿疗?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長糠悼。 經(jīng)常有香客問我届榄,道長,這世上最難降的妖魔是什么倔喂? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任铝条,我火速辦了婚禮,結(jié)果婚禮上席噩,老公的妹妹穿的比我還像新娘班缰。我一直安慰自己,他們只是感情好悼枢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布埠忘。 她就那樣靜靜地躺著,像睡著了一般馒索。 火紅的嫁衣襯著肌膚如雪给梅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天双揪,我揣著相機(jī)與錄音动羽,去河邊找鬼。 笑死渔期,一個胖子當(dāng)著我的面吹牛运吓,可吹牛的內(nèi)容都是我干的渴邦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼拘哨,長吁一口氣:“原來是場噩夢啊……” “哼谋梭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起倦青,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瓮床,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后产镐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隘庄,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年癣亚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丑掺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡述雾,死狀恐怖街州,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玻孟,我是刑警寧澤唆缴,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站黍翎,受9級特大地震影響琐谤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜玩敏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望质礼。 院中可真熱鬧旺聚,春花似錦、人聲如沸眶蕉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽造挽。三九已至碱璃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饭入,已是汗流浹背嵌器。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谐丢,地道東北人爽航。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓蚓让,卻偏偏與公主長得像,于是被迫代替她去往敵國和親讥珍。 傳聞我的和親對象是個殘疾皇子历极,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,787評論 25 707
  • 片段 Fragment表示 Activity中的行為或用戶界面部分。您可以將多個片段組合在一個 Activity ...
    岳小川閱讀 794評論 0 3
  • 前言 Fragment想必大家不陌生吧衷佃,在日常開發(fā)中趟卸,對于Fragment的使用也很頻繁,現(xiàn)在主流的APP中氏义,基本...
    斜杠時(shí)光閱讀 2,576評論 4 22
  • 一 “張博士锄列?你可比我想象中年輕的多,我還以為老頭子要讓我?guī)膫€古董去廠區(qū)呢觅赊∮胰铮” “王總,您別叫我博士了吮螺,叫我張大...
    愛吃蝦的SH閱讀 359評論 0 3
  • 在2016年結(jié)束的時(shí)候,我就想寫一篇總結(jié)性的文字紫岩,可是二十天過去了规惰,我愣是今晚,才得以靜下心來泉蝌,寫點(diǎn)自己想寫的文字...
    阿蓮0609閱讀 251評論 0 4