iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0

最近在面試時,被問到 Activity 跟 Fragment 兩者之間有什麼差異?

我一時無法直接點出來,就先向考官解釋它們各自的定義。

那麼,Fragment 到底在幫我們做些什麼事?

A Fragment represents a reusable portion of your app's UI. A fragment defines and manages its own layout, has its own lifecycle, and can handle its own input events. Fragments cannot live on their own--they must be hosted by an activity or another fragment. The fragment’s view hierarchy becomes part of, or attaches to, the host’s view hierarchy.

Fragment(片段)呈現的是應用程式 UI 可重複使用的部份。Fragment 定義及管理它自身的佈局,有自己的生命週期,並能處理它本身的輸入事件。Fragments 不能獨自存在,它們必須被 1 個 Activity 或 另 1 個 Fragment 持有。Fragment 的視圖層級成為持有者視圖層級的一部份,或附加在持有者視圖層級身上。

Fragment 讓我們可以將 UI 劃為分散的區塊。因此將模組化、可重複使用的特性帶入 Activity 的 UI。

Activity 是在應用程式的使用者介面放置全域(global)元素的理想地方。像是繪製導航列。

Fragment 更適合定義、管理單一畫面或畫面一部份的 UI。

https://ithelp.ithome.com.tw/upload/images/20220908/20151956WWHnAmgbqC.png
[圖1] 在不同螢幕尺寸上的兩個不同畫面版本。圖片左側,大螢幕包含了由 Activity 控制的導航列繪製,以及由 Fragment 控制的格狀清單(grid list)。圖片右側,小螢幕包含了由 Activity 控制的底部導航列,以及由 Fragment 控制的線性清單(linear list)。


參考資料


上一篇
[Day 01] Activity 是什麼?
下一篇
[Day 03] Fragment 是在 Activity 的什麼階段來開始作用?
系列文
[Android] 在 activity 與 fragment 身上的 lifecycle30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言