亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android 中 Fragment的使用大全

2020-04-11 11:24:07
字體:
來源:轉載
供稿:網友

 Fragment必須總是被嵌入到一個Activity中,并且它的生命周期直接受宿主Activity生命周期的影響。

本文內容可以分為下面的幾部分:

使用支持庫
創建一個Fragment
創建一個動態UI
多個Fragment之間的通信

在一個Activity中,一個Fragment代表一種行為或者用戶界面的一部分。你可以聯合起來多個Fragment在一個Activity中創建多面板的UI,并且可以重用一個Fragment在多個activity中。你可以認為一個Fragment是一個Activity的一個模塊部分,Fragment有它自己的生命周期,響應他自己的輸入事件,并且你可以在Activity運行期間增加或者刪除一個Fragment。

1、使用支持庫

如果您的應用需要運行在3.0及以上的版本,可以忽略這部分內容。
如果您的應用使用在3.0以下、1.6及以上的版本,需要使用支持庫來構建。
使用支持庫的步驟:

 1.使用SDK下的SDK Manager工具下載Android Support Package

 2. 在您的Android工程的頂級目錄下創建一個libs目錄

 3. 找到您的SDK下的/extras/android/support/v4/android-support-v4.jar,并且拷貝到您的項目的libs下,選中這個jar包 → 右鍵 → Build Path → Add to Build Path

 4.在您的項目的Manifest.xml文件的<manifest>標簽下添加:

復制代碼 代碼如下:

<uses-sdkandroid:minSdkVersion="4"
  android:targetSdkVersion="8"/>

  其中targetSdkVersion是您的軟件最小支持的版本

 5.如果您的項目支持3.0以下的版本,請導入如下的包:android.support.v4.*;
在使用Fragment的Activity請繼承FragmentActivity而不是Activity。如果您的系統是3.0或以上版本,同樣需要導入類似的包,但是可以使用普通的Activity。 

2、創建一個Fragment

Fragment支持在不同的Activity中使用并且可以處理自己的輸入事件以及生命周期方法等。可以看做是一個子Activity。

創建一個Fragment

創建一個Fragment和創建一個Activity很類似,繼承Fragment類,重寫生命周期方法,主要的不同之處就是需要重寫一個onCreateView()方法來返回這個Fragment的布局。例子:

 Fragment的生命周期方法依賴于Activity的生命周期,例如一個Activity的onPause()的生命周期方法被調用的時候這個Activity中的所有的Fragment的onPause()方法也將被調用。

更多的內容請參照類Fragment。

使用XML添加Fragment到Activity

盡管Fragment可以被多個Activity重用,但是您也必須把Fragment關聯到一個FragmentActivity上。可以使用XML布局文件的方式來實現這種關聯。

說明:上面的所說的FragmentActivity適用在API在3.0以下的版本,3.0及以上的版本可以使用普通的Activity。
例子:

上面使用fragment標簽,android:name=””指定一個添加到xml中的Fragment。對于創建不同的屏幕尺寸布局的更多信息,請閱讀支持不同的屏幕尺寸。 

當您添加一個片段一個活動布局定義的布局XML文件中的片段,你不能刪除在運行時的片段。如果您打算在用戶交互和交換片段,你必須添加的活性片段的活動時第一次啟動。

3、構建一個靈活的UI

FragmentManager提供了對Activity運行時的Fragment的添加、刪除、替換的操作。

在Activity運行期間你可以添加Fragment而不是在XML布局文件中進行定義。如果你打算在Activity中改變Fragment的生命過程。

如果要執行添加、刪除、修改的操作,你必須通過FragmentManager的對象獲得一個FragmentTransaction對象,通過它的API來執行這些操作。

添加一個Fragment到一個Activity,必須把這個Fragment添加到一個容器視圖中。例子:


在Activity中你可以通過getFragmentManager()來獲得Fragment對象,然后通過FragmentManager對象的beginFragmentTransaction()方法來獲得FragmentTransaction對象。通過它的add()方法來添加一個Fragment到當前的Activity中。

一個FragmentTransaction對象可以執行多個增刪修的方法,如果你想把這些修改提交到Activity上,必須在最后調用一下這個對象的commit()方法。例子:

 由于不是定義在XML布局中的,所有可以轉型刪除和修改的操作。

如果替換或者刪除一個Fragment然后讓用戶可以導航到上一個Fragment,你必須在調用commit()方法之前調用addToBackStack()方法添加到回退棧。如果你把這個Fragment添加到了回退棧,在提交之后這個Fragment是會被Stop而不是Destroyed。如果用戶導航到這個Fragment,這個Fragment會被Restart而不是重新創建。如果你沒有把它添加到回退棧,則在刪除或者替換的時候它將被Destroyed。例子:


4、與其他Fragment的交互

兩個單獨的Fragment之間是不應該進行通信的。應該使用他們所存在的Activity作為溝通的紐帶。

為了實現兩個Fragment的交互,您可以在Fragment中定義一個接口,然后再這個接口中定義一個方法,在Fragment的onAttach()方法中調用這個接口中的方法。然后讓Activity實現這個方法來完成Activity和Fragment之間的通信。例子:

定義接口并調用方法:

 

實現接口,在這個方法中可以進行與其他Fragment的數據的交互:


可以通過FragmentManager的findFragmentById()來查找一個Fragment。

以上內容就是小編給大家分享的Android 中 Fragment的使用大全,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品在线不卡| 久久人人爽人人爽人人片av高请| 91在线无精精品一区二区| 海角国产乱辈乱精品视频| 日韩中文字幕视频在线观看| 国产在线视频91| 92裸体在线视频网站| 欧美性猛交xxxx偷拍洗澡| 欧美日韩一区二区三区| 欧美日韩午夜视频在线观看| 中文字幕av一区二区三区谷原希美| 欧美视频一二三| 欧美精品电影免费在线观看| 热99在线视频| 精品国产91乱高清在线观看| 久久久91精品| 色偷偷亚洲男人天堂| 国产亚洲精品一区二区| 国产欧亚日韩视频| 成人精品在线观看| 亚洲网站在线播放| 亚洲午夜小视频| 69久久夜色精品国产69| 亚洲激情在线观看视频免费| 色妞在线综合亚洲欧美| 久久成人18免费网站| 色婷婷av一区二区三区久久| 91在线直播亚洲| 日韩精品高清视频| 精品国产一区二区三区在线观看| 亚洲最新av网址| 秋霞午夜一区二区| 久久久久久久久久av| 国产一区二区在线免费| 亚洲精品丝袜日韩| 午夜精品一区二区三区在线视频| 精品一区精品二区| 九九热在线精品视频| 亚洲片av在线| 日韩免费观看高清| 亚洲国产精品中文| 欧美国产日韩中文字幕在线| 精品高清美女精品国产区| 国产成人av网址| 亚洲成人久久一区| 久久综合久中文字幕青草| 2019国产精品自在线拍国产不卡| 91久久国产精品91久久性色| 日韩乱码在线视频| 最近2019中文字幕mv免费看| 亚洲成人精品视频在线观看| 亚洲成人三级在线| 成人精品一区二区三区电影黑人| 亚洲第一区中文99精品| 欧洲精品毛片网站| 欧洲成人在线视频| 日韩一区二区av| 日韩视频在线免费| 中文字幕视频一区二区在线有码| 国产精品一区二区在线| 久久韩剧网电视剧| 精品久久久国产| 岛国视频午夜一区免费在线观看| 日韩精品亚洲视频| 色综合天天狠天天透天天伊人| 日韩午夜在线视频| 日韩激情av在线播放| 午夜精品一区二区三区在线播放| 国产91精品久久久久久久| www.欧美精品| 午夜精品久久久久久久久久久久久| 国产精品久久一区主播| 91香蕉电影院| 日韩精品中文字幕有码专区| 欧美日韩国产一区中文午夜| 欧美激情综合亚洲一二区| 亚洲精品美女久久| 高清日韩电视剧大全免费播放在线观看| 欧美激情国产日韩精品一区18| 色哟哟入口国产精品| 久久久免费av| 在线日韩日本国产亚洲| 欧美国产日韩在线| 精品福利在线视频| 欧美整片在线观看| 国产网站欧美日韩免费精品在线观看| 欧美成人免费小视频| 国产精品久久久久久久久久免费| 久久精品国产久精国产思思| 亚洲黄色在线看| 久久久久久久久久久人体| 在线精品国产欧美| 在线观看亚洲区| 精品无人区乱码1区2区3区在线| 欧美色视频日本版| 久久亚洲精品小早川怜子66| 亚洲天堂男人天堂| 久久久午夜视频| 欧美一级成年大片在线观看| 国产综合香蕉五月婷在线| 综合136福利视频在线| 在线亚洲男人天堂| 国产精品永久免费| 国产精品久久久久久久7电影| 在线电影中文日韩| 国产精品久久9| 欧美精品18videosex性欧美| 亚洲精品视频网上网址在线观看| 久久艳片www.17c.com| 色悠久久久久综合先锋影音下载| 国内精品模特av私拍在线观看| 亚洲欧洲高清在线| 96pao国产成视频永久免费| 亚洲欧美第一页| 日韩在线中文视频| 亚洲精品日韩欧美| 九九久久综合网站| 一区二区三区黄色| 97成人在线视频| 在线观看日韩视频| 欧美俄罗斯性视频| 97热在线精品视频在线观看| 色综合久久久888| 国产精品激情av电影在线观看| 日韩免费在线免费观看| 亚洲人成电影网站色…| 国产日韩在线精品av| 77777亚洲午夜久久多人| 国产成人拍精品视频午夜网站| 国产精品欧美风情| 日韩欧美999| 91精品国产高清久久久久久久久| 国模精品视频一区二区三区| 日韩大陆欧美高清视频区| 精品国产乱码久久久久酒店| 一区二区三区黄色| 久久99热精品| 久久中文字幕在线视频| 国产精品99免视看9| 欧美日韩免费在线观看| 中文字幕日韩av| 国产精品白丝jk喷水视频一区| 欧美午夜片在线免费观看| 国产91对白在线播放| 日韩电影免费在线观看中文字幕| www欧美日韩| 久久伊人精品一区二区三区| 欧美激情第一页xxx| 一本色道久久综合狠狠躁篇的优点| 欧美电影免费观看| 欧美激情奇米色| 国产美女久久久| 欧美第一页在线| 亚洲国产精品va在看黑人| 亚洲欧美国产高清va在线播| 中文字幕国产精品| 亚洲天堂av在线播放| 成人亲热视频网站| 97在线观看视频国产| 久久男人的天堂| 91精品视频网站| 精品久久久久久久久久久久| 91久久久久久久久久| 欧美一级免费看|