日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

android使碎片切换界面,玩转Android中的碎片Fragment

發(fā)布時間:2023/12/10 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android使碎片切换界面,玩转Android中的碎片Fragment 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引言:在Android開發(fā)中,我們都知道一些界面的展示經(jīng)常會用到的就是Activity,但是Activity存在著很大的局限性,比如說手機上的界面顯示在平板上面就會發(fā)生各種變形的問題,Activity也無法實現(xiàn)局部的數(shù)據(jù)刷新,所以Android3.0之后出來了Fragment,Fragment通常是嵌套在Activity中來使用,提高了界面顯示的靈活性。

一、Fragment簡介

Fragment也被稱作碎片,它相當于一個小型的Activity,您可以將碎片視為 Activity 的模塊化組成部分,它具有自己的生命周期,能接收自己的輸入事件,并且可以在 Activity 運行時添加或刪除片段。同時碎片必須始終嵌入在Activity 中,其生命周期直接受宿主 Activity 生命周期的影響。

二、Fragment的應(yīng)用場景

1.用一套代碼適配橫豎屏和平板

假設(shè)有兩個界面,在手機豎屏和平板豎屏的時候是分為兩個Activity來實現(xiàn)的,而在手機橫屏和平板橫屏的時候在同一個Activity中顯示兩個界面,這個時候用Activity就不好實現(xiàn),我們采用碎片F(xiàn)ragment來進行實現(xiàn);

(1).分別在Layout與Layout-land下面創(chuàng)建一個名字相同的Fragment布局文件.這樣做的原因是顯示的過程中系統(tǒng)會根據(jù)橫豎屏而去加載不同的布局來達到適配的效果;

(2)創(chuàng)建兩個Fragment

(3).創(chuàng)建一個接口回調(diào)來實現(xiàn)兩個Fragment之間的通信;

(4).當點擊第一個Fragment上需要在第二個Fragment作出對應(yīng)的響應(yīng)的時候,通過判斷橫豎屏來進行顯示

在豎屏的情況下只顯示一個Fragment,橫屏兩個Fragment都會顯示

三、Fragment與FragmentTabHost的組合使用

FragmentTabHost作為Android4.0版本的控件, 已經(jīng)被項目廣泛使用, 5.0版本又推出TabLayout+ViewPager顯示多頁;

1.Fragment與FragmentTabHost的組合使用的兩種常用方式

(1).菜單欄在上方的實現(xiàn)方式

(2).菜單欄在底部的實現(xiàn)方式

(3).添加對應(yīng)的Fragment到對應(yīng)的TabHost中

2.如何通過修改FragmentTabhost源碼來避免對應(yīng)的Fragment重新綁定

如果使用原生的類在切換Tabhost對應(yīng)的Fragment的時候都會觸發(fā)重新綁定Fragment,但是在實際的項目應(yīng)用過程中我們并不希望重新綁定導致Fragment重新加載,所以需要修改源碼中影響Fragment生命周期的代碼,在其doTabChanged()方法中做如下修改即可:

四、總結(jié)

本文涉及到了Fragment的使用以及Fragment和Fragment Tabhost的主要使用場景及在使用過程中遇到問題的解決方式,相信做Android開發(fā)的朋友都知道,這兩者的組合在很多APP中是很常用的,在用的過程中可能也會遇到一些奇怪的現(xiàn)象,比如說在切換底部菜單欄的時候會導致對應(yīng)的Fragment重新加載,這里就告訴大家如何去修改對應(yīng)的源碼來實現(xiàn)避免切換的時候重新加載數(shù)據(jù);

總結(jié)

以上是生活随笔為你收集整理的android使碎片切换界面,玩转Android中的碎片Fragment的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。