iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0

今天來介紹我前面忘記的Fragment/images/emoticon/emoticon25.gif
Fragment是 Android 中用來建立可重複使用、模組化 UI 元件的關鍵。你可以把它想像成一個 子 Activity,它擁有自己的佈局和生命週期,但必須依附在一個 Activity 中才能存在。使用 Fragment 的最大好處是能讓你的 UI 在不同尺寸的螢幕上呈現出不同的佈局

Fragment 的生命週期

Fragment 的生命週期與其主Activity 的生命週期緊密相連。當 Activity 暫停時,它內部的所有 Fragment 也會暫停

  • onAttach():Fragment 已經附加到 Activity
  • onCreate():Fragment 正在被建立,適合用來初始化非 UI 相關的元件
  • onCreateView():系統會呼叫此方法來建立 Fragment 的 UI 視圖。你要在此處載入你的Layout XML 檔案並回傳一個 View物件
  • onViewCreated():在 onCreateView() 回傳 View 之後立即呼叫,適合在此處進行 findViewById 和設定監聽器等操作
  • onStart():Fragment 變為可見
  • onResume():Fragment 進入可互動狀態
  • onPause():Fragment 失去焦點,但仍可見
  • onStop():Fragment 變為不可見
  • onDestroyView():Fragment 的 UI 視圖正在被銷毀,適合在此處清理與 View 相關的資源
  • onDestroy():Fragment 正在被銷毀
  • onDetach():Fragment 已從 Activity 脫離

下面連結可以參考:)

https://developer.android.com/guide/fragments/lifecycle?hl=zh-tw

與Activity溝通

  • Fragment 傳遞資料給 Activity :在 Fragment 中定義一個 interface,讓主Activity 實作這個介面。當 Fragment 中有事件發生時 (如按鈕點擊),就呼叫這個介面方法,Activity 就會收到通知
  • Activity 傳遞資料給 Fragment:透過 Bundle,在建立 Fragment 實例後,使用 fragment.setArguments(bundle) 方法將資料包傳入,然後在 Fragment 的 onCreate()onCreateView() 中使用getArguments() 取出

Fragment 的優點

  • 模組化:將複雜的 UI 拆分成獨立、可管理的區塊
  • 可重複使用:同一個Fragment 可以在多個不同的Activity 中使用
  • 適應性:輕鬆為不同螢幕尺寸(手機、平板)建立不同的 UI 佈局。例如,在平板上同時顯示兩個 Fragment,在手機上則一次只顯示一個

實作部分我就沒有做了Sorry/images/emoticon/emoticon02.gif
今天的部分直接推薦看其他大神的文章範例(シ_ _)シ

今天就先到這裡,明天會來講SwipeRefreshLayout,明天見(.q.)

https://ithelp.ithome.com.tw/upload/images/20251005/20176154Q4lmQvE9IP.png


上一篇
Day20 Logcat介紹
系列文
Android 菜鳥30天從0到1的學習紀錄21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言