1 回答

TA貢獻(xiàn)57條經(jīng)驗(yàn) 獲得超82個(gè)贊
======兩個(gè)區(qū)別大了,根本不是一家的======
有興趣的話,最好了解一下安卓的MVC【模型(model)-視圖(view)-控制器(controller)】
=>查看源碼與官方文檔,可知區(qū)別:
FrameLayout是視圖(view),繼承于ViewGroup,顯然它是一種布局,用于控制子View。所有放在布局里的控件,都按照層次堆疊在屏幕的左上角,后加進(jìn)來的控件覆蓋前面的控件。
Fragment在源碼中是一個(gè)單獨(dú)類,沒有任何父類。它的功能類似于Activity,都用于控制邏輯處理,但生命周期比Activity更復(fù)雜。另外,在Google給出的建議中指出Activity是控制器(controller)的角色,當(dāng)然實(shí)際業(yè)務(wù)中不止controller。
=>關(guān)于MVC,舉個(gè)栗子:
????Android中使用MVC模式的典型,就是LisetView了。LisetView自身是視圖(view),其Adapter充當(dāng)控制器(controller),顯示的數(shù)據(jù)data是模型(model)。
-------------------------------------------------------------------
綜上所述,FrameLayout和Fragmet根本就是兩個(gè)東西,沒什么區(qū)別不區(qū)別的,就像Activity和LinearLayout一樣,完全不同。
- 1 回答
- 0 關(guān)注
- 2118 瀏覽
添加回答
舉報(bào)