自從Android在3.0推出Fragment之后,現(xiàn)在很多應(yīng)用的設(shè)計(jì)都是建立在Fragment的基礎(chǔ)上,像是多個(gè)tab切換這種需求,就可以使用Fragment,并且Fragment提供了一系列生命周期的回調(diào),可以幫助我們實(shí)現(xiàn)很多特殊的需求,像是數(shù)據(jù)保存和恢復(fù)等。

    Fragment本身的出現(xiàn)是為了解決平板多屏界面展示問(wèn)題,因?yàn)槠桨蹇梢哉故颈仁謾C(jī)更多的內(nèi)容,所以使用Fragment可以實(shí)現(xiàn)根據(jù)不同尺寸展示不同內(nèi)容的需求,而這不同內(nèi)容更多是指在更大的尺寸顯示更多的內(nèi)容。

    隨著人們的實(shí)際編碼工作,發(fā)現(xiàn)使用Fragment可以更好的管理界面,因?yàn)橐粋€(gè)Activity可以管理多個(gè)Fragment,如果將Fragment當(dāng)做一個(gè)界面,我們可以實(shí)現(xiàn)多個(gè)界面的切換,并且這種工作比起以前在布局文件中控制可見(jiàn)來(lái)講,更好管理,并且布局可以復(fù)用,導(dǎo)致Activity的作用就只是Fragment的管理容器而已,加上Fragment擁有和Activity同步的生命周期,所以很多業(yè)務(wù)工作都可以放在Fragment中。

    現(xiàn)在很多界面的開發(fā)工作都是使用Activity加多個(gè)Fragment的設(shè)計(jì)模式,這是很好的方式,但要想完全掌握Fragment這個(gè)利器,需要了解的工作非常多,并且有關(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生命周期實(shí)現(xiàn)某些功能,像是結(jié)束的時(shí)候停止當(dāng)前異步任務(wù)等需求。

    仔細(xì)看Fragment的代碼,我們發(fā)現(xiàn)這無(wú)非就是在Activity的布局中指定的地方添加相應(yīng)的布局,然后綁定一堆監(jiān)聽用以實(shí)現(xiàn)各種生命周期的回調(diào)。

    我們甚至可以模擬Android源碼,自己搞一個(gè)Fragment的替代品。

    我們這次的嘗試是實(shí)現(xiàn)Fragment界面復(fù)用的功能,這是最常用的場(chǎng)景。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式