自從Android在3.0推出Fragment之后,現(xiàn)在很多應(yīng)用的設(shè)計都是建立在Fragment的基礎(chǔ)上,像是多個tab切換這種需求,就可以使用Fragment,并且Fragment提供了一系列生命周期的回調(diào),可以幫助我們實現(xiàn)很多特殊的需求,像是數(shù)據(jù)保存和恢復(fù)等。
Fragment本身的出現(xiàn)是為了解決平板多屏界面展示問題,因為平板可以展示比手機更多的內(nèi)容,所以使用Fragment可以實現(xiàn)根據(jù)不同尺寸展示不同內(nèi)容的需求,而這不同內(nèi)容更多是指在更大的尺寸顯示更多的內(nèi)容。
隨著人們的實際編碼工作,發(fā)現(xiàn)使用Fragment可以更好的管理界面,因為一個Activity可以管理多個Fragment,如果將Fragment當(dāng)做一個界面,我們可以實現(xiàn)多個界面的切換,并且這種工作比起以前在布局文件中控制可見來講,更好管理,并且布局可以復(fù)用,導(dǎo)致Activity的作用就只是Fragment的管理容器而已,加上Fragment擁有和Activity同步的生命周期,所以很多業(yè)務(wù)工作都可以放在Fragment中。
現(xiàn)在很多界面的開發(fā)工作都是使用Activity加多個Fragment的設(shè)計模式,這是很好的方式,但要想完全掌握Fragment這個利器,需要了解的工作非常多,并且有關(guān)Fragment可以開展相當(dāng)多的話題,像是Fragment之間的參數(shù)傳遞,F(xiàn)ragment之間的切換和狀態(tài)的保存,等等,這些都是相當(dāng)大的范圍,而且谷歌也看到Fragment的使用前景,封裝了DialogFrament,ListFragment等方便開發(fā)者使用,F(xiàn)ragment和Activity之間生命周期的關(guān)系,還可以做監(jiān)聽Activity生命周期實現(xiàn)某些功能,像是結(jié)束的時候停止當(dāng)前異步任務(wù)等需求。
仔細看Fragment的代碼,我們發(fā)現(xiàn)這無非就是在Activity的布局中指定的地方添加相應(yīng)的布局,然后綁定一堆監(jiān)聽用以實現(xiàn)各種生命周期的回調(diào)。
我們甚至可以模擬Android源碼,自己搞一個Fragment的替代品。
我們這次的嘗試是實現(xiàn)Fragment界面復(fù)用的功能,這是最常用的場景。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26