日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android Fragments详解一:概述

發布時間:2025/3/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android Fragments详解一:概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

當向activity中添加一個Fragment時,它須置于ViewGroup控件中,并且需定義Fragment自己的界面。你可以在layoutxml文件中聲明Fragment,元素為:<fragment>;也可以在代碼中創建Fragment,然后把它加入到ViewGroup控件中。然而,Fragment不一定非要放在activity的界面中,它可以隱藏在后臺為actvitiy工作。

本章描述如何使用fragment,包括fragment在加入activity的后退棧中時如何保持自己的狀態,如何與activity以及其它fragment們共享事件,如何顯示在activity的動作欄,等等。

設計哲學

Android3.0開始引入fragment,主要是為了支持更動態更靈活的界面設計,比如在平板上的應用。平板機上擁有比手機更大的屏幕空間來組合和交互界面組件們。Fragment使你在做那樣的設計時,不需應付view樹中復雜的變化。通過把activitylayout分成fragment,你可以在activity運行時改變它的樣子,并且可以在activity的后退棧中保存這些改變。

例如:寫一個讀新聞的程序,可以用一個fragment顯示標題列表,另一個fragment顯示選中標題的內容,這兩個fragment都在一個activity上,并排顯示。那么這兩個fragment都有自己的生命周期并響應自己感興趣的事件。于是,不需再像手機上那樣用一個activity顯示標題列表,用另一個activity顯示新聞內容;現在可以把兩者放在一個activity上同時顯示出來。如下圖:


Fragment必須被寫成可重用的模塊。因為fragment有自己的layout,自己進行事件響應,擁有自己的生命周期和行為,所以你可以在多個activity中包含同一個Fragment的不同實例。這對于讓你的界面在不同的屏幕尺寸下都能給用戶完美的體驗尤其重要。比如你可以在程序運行于大屏幕中時啟動包含很多fragmentactivity,而在運行于小屏幕時啟動一個包含少量fragmentactivity

舉個例子--還是剛才那個讀新聞的程序-當你檢測到程序運行于大屏幕時,啟動activityA,你將標題列表和新聞內容這兩個fragment都放在activityA中;當檢測到程序運行于小屏幕時,還是啟動activityA,但此時A中只有標題列表fragment,當選中一個標題時,activityA啟動activityBB中含有新聞內容fragment


總結

以上是生活随笔為你收集整理的android Fragments详解一:概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。