精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android Fragment生命周期:多屏幕支持

移動(dòng)開發(fā) Android
在使用Fragment之前,F(xiàn)ragment的生命周期是一個(gè)需要關(guān)心的問題。目前,要想在Android上開發(fā)出一款A(yù)PP必須得考慮到“碎片化”的問題,或者說必須考慮多屏幕適配,這是每一個(gè)開發(fā)者都必須面對(duì)的問題。

在使用Fragment之前,F(xiàn)ragment的生命周期是一個(gè)需要關(guān)心的問題。目前,要想在Android上開發(fā)出一款A(yù)PP必須得考慮到“碎片化”的問題,或者說必須考慮多屏幕適配,這是每一個(gè)開發(fā)者都必須面對(duì)的問題。

現(xiàn)在市場(chǎng)上手機(jī)的屏幕分辨率、尺寸五花八門,更糟糕的是,除了手機(jī)外還有平板!我們都清楚,就單單屏幕尺寸來說手機(jī)和平板差異很大。所以,當(dāng)我們開 發(fā)應(yīng)用程序的時(shí)候,要謹(jǐn)記我們的APP應(yīng)該能適用于不同的設(shè)備上而且必須達(dá)到***效果,這樣才能確保獲得更佳用戶體驗(yàn)。于是問題就產(chǎn)生了,我們需要調(diào)整應(yīng) 用在手機(jī)和平板上顯示相同的效果,也就是現(xiàn)在所說的多屏幕適配。在之前的一篇帖子里,我已經(jīng)講了怎么用Android的一些特性做多屏幕支持,比如創(chuàng)建不同的布局文件等等。這個(gè)方式現(xiàn)在也還可以這么做,但是已經(jīng)不能滿足我們的要求了。

一個(gè)經(jīng)典的例子是,應(yīng)用中有一個(gè)列表,用戶點(diǎn)擊列表?xiàng)l目就可以顯示詳細(xì)信息。這種情況下,我們可以使應(yīng)用在手機(jī)和平板上有不同的體驗(yàn)效果。在手機(jī)上需要兩個(gè)Activity來完成這個(gè)功能,如圖:

Android_fragment_list3

當(dāng)用戶點(diǎn)擊后,出現(xiàn)的界面是這樣的:

Android_fragment_details4

而在平板上,我們我們需要好好利用屏幕,把列表和詳情顯示在一起,如圖:

Android_fragment-tablet3

從上面的例子我們清楚地看到,我們需要一個(gè)方法去“合并Activity”,讓其中一個(gè)Activity調(diào)用另一個(gè)時(shí),兩個(gè)Activity都能同時(shí)或者先后顯示。我們需要在不重寫代碼的情況下重新組織界面布局,而僅僅使用多布局來做是不行的,我們需要?jiǎng)e的技術(shù)。

Fragment

在Android3.0上引入了一個(gè)新概念叫Fragment。它有自己的布局文件,可以作為組件排布,也可以 相互組合去實(shí)現(xiàn)不同的布局顯示。使用Fragment可以重復(fù)利用代碼,并且可以滿足不同設(shè)備尺寸的需求。Fragment不能單獨(dú)存在,只能存在于 Activity中,而一個(gè)Activity可以擁有多個(gè)Fragment。很重要的一點(diǎn)是,F(xiàn)ragment可以和Activity中的其它組件一起使 用,無需重寫所有Activity的接口。所以使用Fragment就可以這樣來完成上例中“主界面—詳細(xì)界面”的APP需求。

在手機(jī)上是這樣顯示的:

android_activity_fragment1

而在平板上是這樣的:

android_activity_fragment_tablet1

Fragment生命周期

既然我們已經(jīng)知道了Fragment很好用,那么我們也需要知道它的工作原理。Fragment只能存在于(作為容器的)Activity中,每一 個(gè)Fragment都有自己的視圖結(jié)構(gòu),可以像我們之前那樣載入布局。Fragment的生命周期更加復(fù)雜,因?yàn)樗懈嗟臓顟B(tài),如圖:

android_fragment_lifecycle4

我們來看一下Fragment完整的生命周期。

  • 在Fragment生命周期開始,onInflate方法被調(diào)用。要注意的是,這個(gè)方法只在我們直接用標(biāo)簽在布局文件中定義的時(shí)候才會(huì)被調(diào)用。我們可以在這個(gè)方法中保存一些在xml布局文件中定義的配置參數(shù)和一些屬性。
  • 這一步過后就輪到onAttach被調(diào)用了。這個(gè)方法在Fragment綁定到它的父Activity中的時(shí)候被調(diào)用,我們可以在這里保存它和Activity之間的引用。
  • 之后onCreate會(huì)被調(diào)用。這是最重要的步驟之一。Fragment就是在這一步中產(chǎn)生的,可以用這個(gè)方法來啟動(dòng)其它線程來檢索數(shù)據(jù),比如從遠(yuǎn)程服務(wù)器中啟動(dòng)。
  • onCreateView這個(gè)方法是在Fragment創(chuàng)建自己的視圖結(jié)構(gòu)的時(shí)候被調(diào)用,在這個(gè)方法中我們會(huì)載入Fragment的布局文件,就像我們?cè)贚istView控件中載入布局一樣。在這個(gè)過程中,我們不能保證父Activity是否已經(jīng)創(chuàng)建,所以有一些操作我們不能在這里完成。
  • 可以看到,在onActivityCreated后Activity才算是建立完成。到這一步,我們的Activity就創(chuàng)建成功并激活了。我們可以隨時(shí)使用它了。
  • 下一步就是onStart了,在這里我們做的事和Activity中的onStart一樣,在這個(gè)方法中Fragment雖然可以顯示,但是還不能和用戶進(jìn)行交互,只有在onResume后Fragment才能開始和用戶進(jìn)行交互操作。在這個(gè)過程后,F(xiàn)ragment就已經(jīng)啟動(dòng)并運(yùn)行起來了。
  • 也許會(huì)暫停Activity。Activity的OnPause方法會(huì)被調(diào)用。這時(shí)候Fragment的onPause方法也會(huì)被調(diào)用。
  • 系統(tǒng)也可能會(huì)銷毀Fragment的視圖顯示,發(fā)生這種情況時(shí)onDestroyView方法就被調(diào)用了。
  • 之后,如果系統(tǒng)需要完全銷毀整個(gè)Fragment的話,onDestroy方法就會(huì)被調(diào)用了。這時(shí)候我們就需要釋放掉所有可用的連接了,因?yàn)檫@個(gè)時(shí)候Fragment馬上就要被殺掉了。雖然是在準(zhǔn)備銷毀的過程中,但是Fragment仍然綁定在父Activity中。
  • ***一步就是把Fragment從Activity中解綁,即調(diào)用onDetach方法。

怎么創(chuàng)建一個(gè)Fragment

現(xiàn)在我們了解了Fragment的生命周期了,接著我們就需要知道怎么創(chuàng)建一個(gè)Fragment并綁定到Activity中,***件要做的事就是繼承android.app.Fragment來寫一個(gè)Fragment,假設(shè)我們的Fragment叫做Fragment1,創(chuàng)建和定義如下:

  1. public class Fragment1 extends Fragment { 
  2. ... 

就像我們上面說的,F(xiàn)ragment只能存在于Activity中,所以我們必須要在某處定義它,有兩種方式:

- 直接在xml布局文件中定義;

- 在xml布局文件中定義一個(gè)占位符,然后動(dòng)態(tài)地在Activity中操作Fragment;

我們定義Fragment的方式會(huì)影響它的生命周期,因?yàn)樵谏鲜?**種情況下onInflate方法會(huì)被調(diào)用,而第二種情況下它的生命周期是從onAttach方法開始的。

如果我們?cè)赬ML文件中定義Fragment的話,我們需要:

  1. <fragment android:id="@+id/f1" 
  2.                         class="com.survivingwithandroid.fragment.Fragment1" 
  3.               android:layout_width="match_parent" 
  4.               android:layout_height="20dp"/> 

然而如果我們?cè)赬ML中用占位符的話,需要再做一些工作。

布局框架和Fragment

如果我們?cè)赬ML布局文件中定義Fragment的話,就不能自由、動(dòng)態(tài)修改Fragment了,還有別的方法可以讓我們可以更靈活地操作:使用時(shí)需要在XML文件中定義:

  1. <FrameLayout android:id="@+id/fl1" 
  2.              android:layout_width="match_parent" 
  3.              android:layout_height="200dp"/> 

在Activity里面還需要做一點(diǎn)工作,因?yàn)槲覀儽仨毷謩?dòng)初始化Fragment,然后把它“插入”到FrameLayout中。

  1. public class MainActivity extends Activity { 
  2.    
  3. @Override 
  4. protected void onCreate(Bundle savedInstanceState) { 
  5.     super.onCreate(savedInstanceState); 
  6.     setContentView(R.layout.activity_main); 
  7.    
  8.     Fragment2 f2 = new Fragment2(); 
  9.     FragmentTransaction ft = getFragmentManager().beginTransaction(); 
  10.     ft.replace(R.id.fl1, f2); 
  11.     ft.commit(); 

關(guān)于FragmentTransaction等內(nèi)容的討論我們留到下一篇文章再說吧,本文就到這里了。

【移動(dòng)開發(fā)視頻課程推薦】

責(zé)任編輯:閆佳明 來源: blog.jobbole
相關(guān)推薦

2011-06-16 09:31:21

ActivityAndroid

2010-01-26 17:00:31

Android生命周期

2011-11-16 18:15:35

紅帽

2015-07-08 16:28:23

weak生命周期

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應(yīng)用安全

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架

2013-08-19 17:03:00

.Net生命周期對(duì)象

2012-06-20 10:29:16

敏捷開發(fā)

2009-06-24 10:47:55

JSF生命周期

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl線程

2010-02-06 10:34:11

Android生命周期

2010-02-06 10:42:41

Android Ser生命周期

2009-06-18 13:32:39

Java線程生命周期

2014-07-16 13:39:30

Windows Pho

2013-08-01 09:40:51

Windows 8.1

2023-09-12 10:52:16

OpenSSL開源套件

2012-04-28 13:23:12

Java生命周期

2023-10-07 00:05:07

2012-01-16 09:00:56

線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

麻豆系列在线观看| 免费看黄色av| 成人在线高清免费| www..com久久爱| 人人做人人澡人人爽欧美| 国产精久久一区二区三区| 福利一区二区免费视频| 亚洲综合激情小说| 欧美午夜精品久久久久久蜜| 国产精品欧美综合| 欧美91大片| 国产丝袜一区二区三区免费视频| 91精品无人成人www| 在线电影福利片| 久久久久久久国产精品影院| 国产综合久久久久久| 国产真实夫妇交换视频| 国产影视精品一区二区三区| 日韩限制级电影在线观看| 无码精品a∨在线观看中文| 91在线视频| 成人黄色大片在线观看| 国产精品午夜视频| 日产亚洲一区二区三区| 欧美3p在线观看| 亚洲福利视频久久| 一女二男3p波多野结衣| 美女视频在线免费| 亚洲乱码中文字幕综合| 欧美日韩综合精品| 日日夜夜精品免费| 狠狠色丁香婷综合久久| 国产国语videosex另类| 日韩视频免费观看高清| 女主播福利一区| 影音先锋日韩有码| 久久人人爽人人爽人人片| 亚洲成人五区| 欧美伦理视频网站| 国产免费成人在线| av免费不卡国产观看| 亚洲码国产岛国毛片在线| 亚洲精品国产精品久久| 日本不卡免费播放| 99re在线精品| 国产精品国模大尺度私拍| 91精品国自产| 日本中文字幕一区二区有限公司| 97在线视频精品| 免费人成在线观看| 91精品1区| 日韩在线观看免费全集电视剧网站| 欧美xxxxx少妇| 伊人久久影院| 日韩欧美中文字幕精品| 潘金莲激情呻吟欲求不满视频| 芒果视频成人app| 亚洲成在线观看| 日本男女交配视频| 羞羞的视频在线观看| 亚洲欧美国产高清| 干日本少妇视频| 欧美成人高清在线| 亚洲欧洲精品一区二区三区| 国产系列第一页| 国产美女福利在线| 中文字幕在线播放不卡一区| 亚洲成人自拍| 亚洲成人三级| 日本一区二区三区四区| 日韩视频精品| 日本在线免费网| 亚洲日本在线a| 成人在线免费高清视频| 蜜桃传媒在线观看免费进入| 亚洲成人免费视频| www国产黄色| 久久精品女人天堂av免费观看| 欧美性猛交xxxx偷拍洗澡 | 国产成人黄色| 伊人伊成久久人综合网小说| 成年人网站在线观看视频| 亚洲成人日韩| 97精品国产91久久久久久| 国产视频91在线| 久久最新视频| 91丝袜美腿美女视频网站| xxxwww在线观看| 91麻豆文化传媒在线观看| 日韩av电影免费在线观看| 麻豆av在线免费看| 亚洲国产精品一区二区久久| 久草资源站在线观看| 久久er热在这里只有精品66| 精品少妇一区二区三区日产乱码| 精品中文字幕在线播放| 欧美丝袜一区| 欧美国产极速在线| 免费看污视频的网站| 国产真实乱对白精彩久久| 国产欧美一区二区三区另类精品| 欧美视频综合| 1000部国产精品成人观看| 欧美精品一区二区三区三州| 91精品美女| 欧美va日韩va| www.99热| 激情婷婷欧美| 国产精品一久久香蕉国产线看观看| 国产高清在线观看视频| 97se亚洲国产综合自在线观| 永久免费精品视频网站| 色网在线免费观看| 日韩一区二区免费在线观看| 无码h肉动漫在线观看| 欧美日韩三级电影在线| 国产精品久久久| 亚洲乱码国产乱码精品精软件| 国产亚洲综合在线| 国产欧美精品aaaaaa片| 亚洲国产尤物| 亚洲精美色品网站| 亚洲欧美在线x视频| 国产在线精品日韩| www.亚洲资源| 亚洲不卡av一区二区三区| 中文字幕国内自拍| 欧美深夜视频| 久99久在线视频| 国产天堂第一区| 99热这里都是精品| av中文字幕av| 国产精品99精品一区二区三区∴| 日韩高清中文字幕| 黄色一级片在线免费观看| 久久99久久精品欧美| 日本一区视频在线| 九色porny丨首页入口在线| 日韩一级片在线播放| 任你操精品视频| 久久久久久黄| 欧美xxxx黑人又粗又长精品| 免费在线播放电影| 日韩欧美中文一区二区| 国产91在线播放九色| 日韩电影在线免费| 欧美日韩在线高清| 涩涩在线视频| 亚洲精品aⅴ中文字幕乱码 | 国产精品私人自拍| 久草精品在线播放| 免费不卡中文字幕在线| 538国产精品一区二区在线| 少妇无码一区二区三区| 亚洲一区二区美女| 国产精品手机在线观看| 黄色一区二区三区四区| av色综合网| 超碰在线资源| 亚洲国产精品一区二区三区| 日本视频www| 99re免费视频精品全部| 99er在线视频| 国产 日韩 欧美 综合 一区| 久久久久久久91| 人妻精品无码一区二区| 亚洲国产精品久久人人爱蜜臀| 涩视频在线观看| 精品动漫3d一区二区三区免费版| 国产精品久久7| 鲁鲁在线中文| 亚洲人成人99网站| 最近中文字幕免费在线观看| 国产精品水嫩水嫩| 亚洲欧美一区二区三区不卡| 欧美另类女人| 久久久久久草| 51一区二区三区| 色青青草原桃花久久综合| 国产免费久久久| 一区二区高清视频在线观看| 日韩av无码一区二区三区不卡 | 久久久蜜臀国产一区二区| 日韩免费高清在线| 久久精品一区二区不卡| 国产伦精品一区二区三区视频孕妇 | 国精产品一区一区三区mba视频| 久久精品国产美女| 欧洲精品一区二区三区| 久久深夜福利免费观看| 国产亚洲综合在线| 日韩video| 国产精品tv| 国产91色在线免费| 日本激情视频在线观看| 日韩午夜中文字幕| 天堂а√在线中文在线新版| 国产精品视频线看| av地址在线观看| 在线亚洲一区| 一区二区三区久久网| www国产精品| 日韩女优人人人人射在线视频| 午夜国产福利在线| 亚洲第一福利网| 国产九色91回来了| 一区二区三区 在线观看视频 | 全黄一级裸体片| 久久久777| 只有这里有精品| 天堂综合网久久| 成人免费直播live| 北岛玲heyzo一区二区| 久久久国产一区二区三区| 无码精品在线观看| 亚洲精品黑牛一区二区三区| 午夜精品久久久久久99热| av大片在线播放| 亚洲激情成人网| 国产精品嫩草影院桃色| 福利二区91精品bt7086| 午夜爱爱毛片xxxx视频免费看| www国产亚洲精品久久麻豆| 波多野结衣网页| 秋霞成人午夜伦在线观看| 免费一级特黄毛片| 在线中文字幕第一区| 日韩高清在线播放| 日韩成人午夜| 高清视频在线观看一区| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | 老司机亚洲精品一区二区| 777777777亚洲妇女| 在线观看免费视频你懂的| 在线丨暗呦小u女国产精品| 日韩a在线观看| 精品国产在天天线2019| 国产精品久久久久久免费免熟| 精品国产乱码久久久久久婷婷 | 任你躁av一区二区三区| 日韩综合在线视频| 日韩欧美国产综合在线| 欧美国产免费| 欧美xxxx吸乳| 一本一道久久a久久精品蜜桃| 亚洲国产一区二区三区在线播| 免费成人av| 久久99精品久久久久子伦 | 精品久久中出| 老司机成人在线| 国产日韩久久| 高清精品视频| 精品在线不卡| 欧美色资源站| 久久天堂国产精品| 三级精品视频| 欧美美乳视频网站在线观看| 亚洲福利网站| 日日夜夜精品网站| 日韩精品一区二区三区免费观看| 日韩av电影免费在线观看| 精品freesex老太交| 日韩av高清| 久久一区91| 亚洲一卡二卡三卡| 91精品啪在线观看国产81旧版| 中文字幕制服丝袜在线| 中文字幕一区二区精品区| 日本a在线天堂| 18成人免费观看视频| 日韩精品xxxx| 日韩电影在线看| 中文字幕中文在线| 国产成人亚洲综合色影视| 秘密基地免费观看完整版中文| 91原创在线视频| jizzjizzjizz国产| 亚洲精品国产视频| 圆产精品久久久久久久久久久| 色综合久久中文综合久久97| 一区二区三区黄| 日韩免费观看高清完整版 | 日韩欧美电影在线| 色呦呦免费观看| 国产一区二区三区在线视频| 日本中文字幕在线看| 欧美激情综合亚洲一二区| 国产伦子伦对白在线播放观看| 国产97色在线|日韩| 欧美激情福利| 国产专区一区二区| 成人免费一区二区三区在线观看| 成人中文字幕在线播放| 亚洲一区欧美二区| 69久久久久久| 国产乱人伦偷精品视频不卡| 中文字幕第3页| 国产免费久久精品| 玖玖爱这里只有精品| 五月天欧美精品| 中文字幕久久网| 日韩美女在线视频| 美州a亚洲一视本频v色道| 精品国产视频在线| 91白丝在线| 国产精品视频播放| 9l视频自拍九色9l视频成人| 欧美不卡1区2区3区| 欧美一区网站| 99热成人精品热久久66| 国产一区久久久| 国产传媒第一页| 亚洲丝袜制服诱惑| 亚洲s码欧洲m码国产av| 欧美一级久久久| 成人高潮成人免费观看| 91av在线影院| www.久久热| 日本在线成人一区二区| 好吊视频一区二区三区四区| 国模私拍视频在线观看| 94色蜜桃网一区二区三区| 黑鬼狂亚洲人videos| 欧美午夜精品一区二区三区| 天天操天天爱天天干| 欧美成人黑人xx视频免费观看| 欧美成人ⅴideosxxxxx| 国产一区二区三区四区五区加勒比 | 日本在线免费观看| 欧美剧情片在线观看| 视频一区二区三区在线看免费看 | wwwwxxxx国产| 亚洲国产精品嫩草影院| a级片免费视频| 尤物九九久久国产精品的分类 | 日本一欧美一欧美一亚洲视频| 黄色一级大片免费| 亚洲激情午夜| 成人三级做爰av| 综合久久给合久久狠狠狠97色| 精人妻无码一区二区三区| 亚洲精品福利在线| av免费在线视| 亚洲最大福利网| 999久久久免费精品国产| 国产 porn| 国产欧美日本一区视频| 久久亚洲精品石原莉奈 | 国产小视频一区| 欧美大码xxxx| 91麻豆精品| 最近中文字幕免费mv| 激情久久五月天| 亚洲女人毛茸茸高潮| 欧美亚洲日本一区| 97视频精彩视频在线观看| 国产精品网站大全| 国产精品久久久久一区二区三区厕所| 国产xxxxx视频| 日本一区二区三区在线不卡| 中文字幕 自拍偷拍| 中文字幕亚洲欧美一区二区三区| 成人国产综合| 一区二区精品在线| 国产一区二区三区av电影 | 国产激情在线观看视频| 久久欧美一区二区| 波多野结衣视频网址| 夜夜嗨av一区二区三区免费区| 成人福利片在线| 中国一区二区三区| 国产精品亚洲专一区二区三区| 欧美另类视频在线观看| 欧美精品一区二区三区四区| www.51av欧美视频| 欧美精品七区| 日韩成人一区二区三区在线观看| 青青青视频在线播放| 欧美一区二区三区四区久久| segui88久久综合| 鲁丝一区鲁丝二区鲁丝三区| 日韩高清在线电影| 色欲一区二区三区精品a片| 精品国产免费一区二区三区香蕉| 在线免费看h| 亚洲午夜精品久久久久久浪潮| 国内精品伊人久久久久影院对白| 久久免费播放视频| 亚洲欧美综合另类中字| 日本午夜精品久久久久| 屁屁影院ccyy国产第一页| 久久久久综合网| 国产精品熟女久久久久久| 97av在线影院| 青青草原综合久久大伊人精品 | 久久精品久久国产| 伊人久久综合97精品| 99久久婷婷国产综合精品青牛牛| 国产第一页视频| 一区二区久久久久久|