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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

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

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

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

一、Fragment簡介

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

二、Fragment的應用場景

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

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

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

(2)創建兩個Fragment

(3).創建一個接口回調來實現兩個Fragment之間的通信;

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

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

三、Fragment與FragmentTabHost的組合使用

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

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

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

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

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

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

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

四、總結

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

總結

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

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