最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 中 Fragment的使用大全

 更新時間:2015年10月10日 09:21:15   作者:wangwangheng  
通常地 fragment做為宿主activity UI的一部分, 被作為activity整個view hierarchy的一部分被嵌入。本篇文章給大家介紹android fragment使用,需要的朋友一起看看吧

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

本文內(nèi)容可以分為下面的幾部分:

使用支持庫
創(chuàng)建一個Fragment
創(chuàng)建一個動態(tài)UI
多個Fragment之間的通信

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

1、使用支持庫

如果您的應(yīng)用需要運行在3.0及以上的版本,可以忽略這部分內(nèi)容。
如果您的應(yīng)用使用在3.0以下、1.6及以上的版本,需要使用支持庫來構(gòu)建。
使用支持庫的步驟:

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

 2. 在您的Android工程的頂級目錄下創(chuàng)建一個libs目錄

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

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

復(fù)制代碼 代碼如下:

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

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

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

2、創(chuàng)建一個Fragment

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

創(chuàng)建一個Fragment

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

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

更多的內(nèi)容請參照類Fragment。

使用XML添加Fragment到Activity

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

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

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

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

3、構(gòu)建一個靈活的UI

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

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

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

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


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

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

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

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


4、與其他Fragment的交互

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

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

定義接口并調(diào)用方法:

 

實現(xiàn)接口,在這個方法中可以進行與其他Fragment的數(shù)據(jù)的交互:


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

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

相關(guān)文章

  • Android實現(xiàn)取消GridView中Item選中時默認(rèn)的背景色

    Android實現(xiàn)取消GridView中Item選中時默認(rèn)的背景色

    這篇文章主要介紹了Android實現(xiàn)取消GridView中Item選中時默認(rèn)的背景色,涉及Android GridView中Item屬性設(shè)置的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • Android 如何實現(xiàn)exclude aar包中的某個jar包

    Android 如何實現(xiàn)exclude aar包中的某個jar包

    這篇文章主要介紹了Android 如何實現(xiàn)exclude aar包中的某個jar包,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android實現(xiàn)自動截圖腳本

    Android實現(xiàn)自動截圖腳本

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)自動截圖腳本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Android全面屏適配與判斷超詳細(xì)講解

    Android全面屏適配與判斷超詳細(xì)講解

    這篇文章主要介紹了Android 全面屏適配及判斷是否為全面屏,全面屏手勢和虛擬導(dǎo)航欄的判斷,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • Android開發(fā)中解析xml文件XmlUtils工具類與用法示例

    Android開發(fā)中解析xml文件XmlUtils工具類與用法示例

    這篇文章主要介紹了Android開發(fā)中解析xml文件XmlUtils工具類與用法,結(jié)合實例形式分析了Android開發(fā)中解析xml文件工具類定義與相關(guān)使用技巧,需要的朋友可以參考下
    2018-01-01
  • Flutter實現(xiàn)視頻壓縮功能的示例代碼

    Flutter實現(xiàn)視頻壓縮功能的示例代碼

    移動應(yīng)用程序中,視頻占用了大量的存儲空間和帶寬,這在一定程度上影響了應(yīng)用程序的性能和用戶體驗,所以本文為大家準(zhǔn)備了Flutter實現(xiàn)視頻壓縮的方法,需要的可以參考一下
    2023-06-06
  • Android輔助功能AccessibilityService與搶紅包輔助

    Android輔助功能AccessibilityService與搶紅包輔助

    搶紅包的原理都差不多,一般是用Android的輔助功能(AccessibilityService類)先監(jiān)聽通知欄事件或窗口變化事件來查找紅包關(guān)鍵字然后去模擬點擊或打開紅包
    2016-02-02
  • Android開發(fā)技巧之Fragment的懶加載

    Android開發(fā)技巧之Fragment的懶加載

    我們都知道fragment放在viewPager里面,viewpager會幫我們預(yù)先加載一個,但是當(dāng)我們要看fragment里面的內(nèi)容時,我們也許只會去看第一個,不會去看第二個,如果這時候不去實現(xiàn)fragment的懶加載的話,就會多余的去加載一些數(shù)據(jù),造成用戶多消耗流量。下面來一起看看吧。
    2016-10-10
  • Android EditText追加空格、限制字符等方法示例

    Android EditText追加空格、限制字符等方法示例

    這篇文章主要給大家介紹了關(guān)于Android EditText追加空格、限制字符等的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Android使用BroadcastReceiver監(jiān)聽網(wǎng)絡(luò)連接狀態(tài)的改變

    Android使用BroadcastReceiver監(jiān)聽網(wǎng)絡(luò)連接狀態(tài)的改變

    這篇文章主要為大家詳細(xì)介紹了Android使用BroadcastReceiver監(jiān)聽網(wǎng)絡(luò)連接狀態(tài)的改變,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論

吴川市| 富源县| 翼城县| 板桥市| 长武县| 临安市| 云浮市| 克拉玛依市| 南丰县| 白沙| 兖州市| 大厂| 正阳县| 高要市| 会理县| 元谋县| 大理市| 紫阳县| 抚顺市| 河津市| 浙江省| 游戏| 镇坪县| 梁平县| 安岳县| 双柏县| 东安县| 龙口市| 邢台县| 格尔木市| 中西区| 广州市| 依安县| 清水县| 绥阳县| 南平市| 平乡县| 长顺县| 吕梁市| 松潘县| 成安县|