Android之Fragment的優點和作用

來源:互聯網
上載者:User

標籤:美的   管理   http   活動   接受   建立   事件   activity   執行   

一:什麼是Fragment

片段、片段。其目的是為瞭解決不同螢幕分辯率的動態和靈活UI設計。大螢幕如平板小螢幕如手機,平板電腦的設計使得其有更多的空間來放更多的UI組件,而多出來的空間存放UI使其會產生更多的互動,從而誕生了fragments。

  fragments 在活動Activity中為不同的螢幕尺寸修改布局配置(小螢幕可能每次顯示一個片段,而大螢幕則可以顯示兩個或更多)。

  Fragment必須被寫成可重用的模組。因為fragment有自己的layout,自己進行事件響應,擁有自己的生命週期和行為,所以你可以在多個activity中包含同一個Fragment的不同執行個體。這對於讓你的介面在不同的螢幕尺寸下都能給使用者完美的體驗尤其重要。

 

二、Fragment優點

1.Fragment可以使你能夠將activity分離成多個可重用的組件,每個都有它自己的生命週期和UI。

2.Fragment可以輕鬆得建立動態靈活的UI設計,可以適應於不同的螢幕尺寸。從手機到平板電腦。

3.Fragment是一個獨立的模組,緊緊地與activity綁定在一起。可以運行中動態地移除、加入、交換等。

4.Fragment提供一個新的方式讓你在不同的安卓裝置上統一你的UI。

5.Fragment  切換流暢,輕量切換。

6.Fragment 替代TabActivity做導航,效能更好。

7.Fragment 在4.2.版本中新增嵌套fragment使用方法,能夠產生更好的介面效果。

Fragment做局部內容更新更方便,原來為了到達這一點要把多個布局放到一個activity裡面,現在可以用多Fragment來代替,只有在需要的時候才載入Fragment,提高效能。

可以從startActivityForResult中接收到返回結果,但是View不能。

 

Fragment的生命週期

你可以把fragment看作是activity的模組化組件,它擁有自己的生命週期

 

  Fragment是activity的介面中的一部分或一種行為。你可以把多個Fragment們組合到一個activity中來建立一個多面介面並且你可以在多個activity中重用一個Fragment。你可以把Fragment認為模組化的一段activity,它具有自己的生命週期,接收它自己的事件,並可以在activity運行時被添加或刪除。

  Fragment不能獨立存在,它必須嵌入到activity中,而且Fragment的生命週期直接受所在的activity的影響。例如:當activity暫停時,它擁有的所有的Fragment們都暫停了,當activity銷毀時,它擁有的所有Fragment們都被銷毀。然而,當activity運行時(在onResume()之後,onPause()之前),你可以單獨地操作每個Fragment,比如添加或刪除它們。當你在執行上述針對Fragment的事務時,你可以將事務添加到一個棧中,這個棧被activity管理,棧中的每一條都是一個Fragment的一次事務。有了這個棧,就可以反向執行Fragment的事務,這樣就可以在Fragment級支援“返回”鍵(向後導航)。

 

顯示Fragment時(跟使用者互動)要調用的核心的生命週期方法如下:

1. 把Fragment對象跟Activity關聯時,調用onAttach(Activity)方法;

2. Fragment對象的初始建立時,調用onCreate(Bundle)方法;

3. onCreateView(LayoutInflater, ViewGroup, Bundle)方法用於建立和返回跟Fragment關聯的View對象;

4. onActivityCreate(Bundle)方法會告訴Fragment對象,它所依附的Activity對象已經完成了Activity.onCreate()方法的執行;

5. onStart()方法會讓Fragment對象顯示給使用者(在包含該Fragment對象的Activity被啟動後);

6. onResume()會讓Fragment對象跟使用者互動(在包含該Fragment對象的Activity被啟恢複後)。

 

 

 68067040

Android之Fragment的優點和作用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.