【Android基礎】Fragment 詳解之Fragment介紹

來源:互聯網
上載者:User

標籤:

Fragment在Android 3.0( API 11)引入,是為了支援在大屏上顯示更加動態、靈活的UI,比如在平板和電視上。Fragment可以看作是嵌套的Activity,類似ActivityGroup,但是開銷肯定沒有ActivityGroup那麼大,每一個Fragment管理著一個View,Fragment彼此之間相互獨立,有自己的生命週期,這個生命週期是在Activity生命週期中的。Fragment可以用來解決螢幕適配和動態建立View的問題。

一個Fragment總是嵌入到一個Activity,是一個模組化的View,它的生命週期受它所嵌入的Activity生命週期的的影響。比如Activity進入paused狀態,那麼多有附在這個Activity的Fragment都會進入paused狀態,當Activity被銷毀時,所有附在這個Activity的Fragment也都會銷毀。然後當Activty進入運行狀態onResume後,你可以獨立的管理每一個Fragment,可以add一個Fragment,也可以remove一個Fragment。在你執行一個Fragment事務的時候(建立並且顯示出來),你可以把這個Fragment放到Fragment回退棧中,這個回退棧記錄了所有你執行過的Fragment事務,使用者在點擊返回鍵的時候可以從Fragment棧中取一個Fragment來顯示。

Fragment的生命週期:

如果你很清楚Activity的生命週期那麼Fragment的生命週期就很容易理解,在Fragment中有很多類似Activity生命週期函數的回調方法,這些方法由Android系統調用。官方的Fragment生命週期圖如下:

  • onCreat():
    系統調用這個函數來建立Fragment,這個方法中用來建立整個Fragment周期中都會用到的資源,比如在paused、stoped,或者resumed方法中用到的資源。
  • onCreateView():
    當Fragment需要第一次繪製使用者介面的時候系統調用這個函數完成UI的繪製,你必須在這個函數返回一個View,這個View是Fragment的根View,如果你不想Fragment顯示View就返回null。
  • onPause():
    當離開Fragment時系統會首先調用這個函數,在這個函數中你需要儲存使用者的狀態類似在Activity的onPause方法中做的工作。
一般來說應用程式至少需要重寫這三個函數,來完成你的應用程式邏輯。

本文為原創,禁止轉載!

大家如果對編程感興趣,想瞭解更多的編程知識,解決編程問題,想要系統學習某一種開發知識,我們這裡有java高手,C++/C高 手,windows/Linux高手,android/ios高手,請大家關注我的公眾號:程式員互動聯盟or coder_online,大牛線上為您提供服務。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

【Android基礎】Fragment 詳解之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.