當前位置:首頁 » 安卓系統 » android布局fragment

android布局fragment

發布時間: 2022-06-25 22:02:38

㈠ android 中fragment有什麼優點

1.Fragment是android3.0引入的新控制項,果應用使用在3.0以下、1.6及以上的版本,需要引入v4包。
2.Fragment支持在不同的Activity中使用並且可以處理自己的輸入事件以及生命周期方法等。
3.Fr期方法依賴於Activity的生命周期,例如一個Activity的onPause()的生命周期方法被調用的時候這個Activity中的所有的Fragment的onPause()方法也將被調用。
4.FragmentManager提供了對Activity運行時的Fragment的添加、刪除、替換的操作。在Activity運行期間可以添加Fragment而不是在XML布局文件中進行定義。如果打算在Activity中改變Fragment的生命過程。如果要執行添加、刪除、修改的操作,必須通過FragmentManager的對象獲得一個FragmentTransaction對象,通過它的API來執行這些操作。
5.兩個單獨的Fragment之間是不應該進行通信的。應該使用他們所存在的Activity作為溝通的紐帶。

㈡ android 中fragment 載入布局小問題

fragment是運行在Activity中的,載入布局需要用到Context的API。
1.Fragment是android3.0引入的新控制項,果應用使用在3.0以下、1.6及以上的版本,需要引入v4包。
2.Fragment支持在不同的Activity中使用並且可以處理自己的輸入事件以及生命周期方法等。
3.Fragment的生命周期方法依賴於Activity的生命周期,例如一個Activity的onPause()的生命周期方法被調用的時候這個Activity中的所有的Fragment的onPause()方法也將被調用。
4.FragmentManager提供了對Activity運行時的Fragment的添加、刪除、替換的操作。在Activity運行期間可以添加Fragment而不是在XML布局文件中進行定義。如果打算在Activity中改變Fragment的生命過程。如果要執行添加、刪除、修改的操作,必須通過FragmentManager的對象獲得一個FragmentTransaction對象,通過它的API來執行這些操作。
5.兩個單獨的Fragment之間是不應該進行通信的。應該使用他們所存在的Activity作為溝通的紐帶。

㈢ 真正Android開發中,fragment扮演什麼角色

在Android中,Fragment就是一個輕量級的Activity。 可以把Fragment想成Activity中的模塊,這個模塊有自己的布局,有自己的生命周期,單獨處理自己的輸入,在Activity運行的時候可以載入或者移除Fragment模塊。 可以把Fragment設計成可以在多個Activity中復用的模塊。 當開發的應用程序同時適用於平板電腦和手機時,可以利用Fragment實現靈活的布局,改善用戶體驗。

㈣ Android布局問題,Fragmentlayout

現在都不用tabhost了,使用tablayout+viewpager,下面這個截圖就是用這個開發的。

請先看framelayout的截圖:

例子來自android學習手冊,360手機助手中可以下載,裡面有108個android例子,源碼文檔都可在裡面看,下面是截圖


FrameLayout框架布局是最簡單的布局形式。所有添加到這個布局中的視圖都以層疊的方式顯示。第一個添加的控制項被放在最底層,最後一個添加到框架布局中的視圖顯示在最頂層,上一層的控制項會覆蓋下一層的控制項。這種顯示方式有些類似於堆棧。

當我們往裡面添加組件的時候,所有的組件都會放置於這塊區域的左上角;

幀布局的大小由子控制項中最大的子控制項決定,如果都組件都一樣大的話,同一時刻就只能看到最上面的那個組件了。

1 layout_gravity

FrameLayout根本無法控制他的子控制項的位置,子控制項可以通過Android:layout_gravity屬性來控制自己在父控制項中的位置,從而制定組件的對其方式。

2 layout_margin

FrameLayout布局裡面的控制項單獨設置layout_margin類的屬性沒有效果。FrameLayout中的控制項layout_margin設置要依賴layout_gravity屬性,否則layout_margin設置無效。layout_gravity有好幾個值可以設置,具體要設置哪一個呢?其實layout_gravity可以理解為設置控制項的參考點,控制項最終顯示位置最終由layout_gravity和layout_margin共同決定。

如果想要控制項正常顯示,可以將控制項的layout_gravity設置為top,以屏幕左上角為參考點。

3 前景圖像:

永遠處於幀布局最頂的,直接面對用戶的圖像,,就是不會被覆蓋的圖片

常用屬性:

android:foreground:設置該幀布局容器的前景圖像

android:foregroundGravity:設置前景圖像顯示的位置

幀布局在游戲開發方面用的比較多。當你需要自己寫一個View的時候,在View裡面已經完成了你的邏輯(例如游戲^_^),那麼這個View只需要一個容器放置,就可以使用FrameLayout了。雖然用其他的布局也可以,但是用最簡單的不是更省系統資源么。

㈤ 在Android開發中fragment有什麼優缺點

自從Android 3.0中引入fragments 的概念,根據詞海的翻譯可以譯為:碎片、片段。其目的是為了解決不同屏幕分辯率的動態和靈活UI設計。大屏幕如平板小屏幕如手機,平板電腦的設計使得其有更多的空間來放更多的UI組件,而多出來的空間存放UI使其會產生更多的交互,從而誕生了fragments 。

fragments 的設計不需要你來親自管理view hierarchy 的復雜變化,通過將Activity 的布局分散到frament 中,可以在運行時修改activity 的外觀,並且由activity 管理的back stack 中保存些變化。當一個片段指定了自身的布局時,它能和其他片段配置成不同的組合,在活動中為不同的屏幕尺寸修改布局配置(小屏幕可能每次顯示一個片段,而大屏幕則可以顯示兩個或更多)。

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

Fragment優點

Fragment可以使你能夠將activity分離成多個可重用的組件,每個都有它自己的生命周期和UI。

Fragment可以輕松得創建動態靈活的UI設計,可以適應於不同的屏幕尺寸。從手機到平板電腦。

Fragment是一個獨立的模塊,緊緊地與activity綁定在一起。可以運行中動態地移除、加入、交換等。

Fragment提供一個新的方式讓你在不同的安卓設備上統一你的UI。

Fragment 解決Activity間的切換不流暢,輕量切換。

Fragment 替代TabActivity做導航,性能更好。

Fragment 在4.2.版本中新增嵌套fragment使用方法,能夠生成更好的界面效果。

Fragment做局部內容更新更方便,原來為了到達這一點要把多個布局放到一個activity裡面,現在可以用多Fragment來代替,只有在需要的時候才載入Fragment,提高性能。

可以從startActivityForResult中接收到返回結果,但是View不能。

Fragment的生命周期

你可以把fragment看作是activity的模塊化組件,它擁有自己的生命周期

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

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

顯示Fragment時(跟用戶交互)要調用的核心的生命周期方法如下:

1. 把Fragment對象跟Activity關聯時,調用onAttach(Activity)方法;

2. Fragment對象的初始創建時,調用onCreate(Bundle)方法;

3. onCreateView(LayoutInflater, ViewGroup, Bundle)方法用於創建和返回跟Fragment關聯的View對象;

4. onActivityCreate(Bundle)方法會告訴Fragment對象,它所依附的Activity對象已經完成了Activity.onCreate()方法的執行;

5. onStart()方法會讓Fragment對象顯示給用戶(在包含該Fragment對象的Activity被啟動後);

6. onResume()會讓Fragment對象跟用戶交互(在包含該Fragment對象的Activity被啟恢復後)。

Fragment對象不再使用時,要反向回調的方法:

1. 因為Fragment對象所依附的Activity對象被掛起,或者在Activity中正在執行一個修改Fragment對象的操作,而導致Fragment對象不再跟用戶交互時,系統會調用Fragment對象的onPause()方法;

2. 因為Fragment對象所依附的Activity對象被終止,或者再Activity中正在執行一個修改Fragment對象的操作,而導致Fragment對象不再顯示給用戶時,系統會調用Fragment對象的onStop()方法。

3. onDestroyView()方法用於清除跟Fragment中的View對象關聯的資源;

4. Fragment對象的狀態被最終清理完成之後,要調用onDestroy()方法;

5. 在Fragment對象不再跟它依附的Activity關聯的時候,onDetach()方法會立即被調用

㈥ 真正Android開發中,fragment扮演什麼角色

在Android中,Fragment就是一個輕量級的Activity。

  • 可以把Fragment想成Activity中的模塊,這個模塊有自己的布局,有自己的生命周期,單獨處理自己的輸入,在Activity運行的時候可以載入或者移除Fragment模塊。

  • 可以把Fragment設計成可以在多個Activity中復用的模塊。

  • 當開發的應用程序同時適用於平板電腦和手機時,可以利用Fragment實現靈活的布局,改善用戶體驗。

㈦ android 怎樣使fragment 更換布局

我們通常是用
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_view, fragment).commit();
來添加fragment到指定的視圖位置。所以你的需求只需你動態的改變需要替換的這個view的位置就好了,替換流程還是不變的。
動態的改變view的位置,這需要你在java代碼里動態的設置view的位置。

㈧ 請問Android中的Fragment有什麼作用

Android運行在各種各樣的設備中,有小屏幕的手機,超大屏的平板甚至電視。針對屏幕尺寸的差距,很多情況下,都是先針對手機開發一套App,然後拷貝一份,修改布局以適應平板神馬超級大屏的。難道無法做到一個App可以同時適應手機和平板么,當然了,必須有啊。Fragment的出現就是為了解決這樣的問題。你可以把Fragment當成Activity的一個界面的一個組成部分,甚至Activity的界面可以完全有不同的Fragment組成,更帥氣的是Fragment擁有自己的生命周期和接收、處理用戶的事件,這樣就不必在Activity寫一堆控制項的事件處理的代碼了。更為重要的是,你可以動態的添加、替換和移除某個Fragment。
在秒秒學的網站中有專門的課程來介紹Frament。

㈨ android fragment怎麼用

這個問題太泛了,建議你看下博客http://blog.csdn.net/lmj623565791/article/details/37970961

我說下簡單的使用方法吧:
首先在你的activity中的布局文件中建立一個fragment組件,如:
<fragment
android:id="@+id/fragment"
android:layout_width="fill_parent"
android:layout_height="45dp" />
然後寫一個簡單的Fragment:
public class MyFragment extends Fragment
{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
return inflater.inflate(R.layout.fragment_ztiany2011, container, false);
}
}
最後在你的activity中設置fragment:
FragmentManager fragmentManager = getFragmentManger();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
MyFragment newFragment = new MyFragment();
fragmentTransaction.replace(R.id.fragment, newFragment);
fragmentTransaction.commit();

熱點內容
iso手機解壓縮 發布:2024-05-08 22:06:12 瀏覽:314
如何選擇好的伺服器 發布:2024-05-08 21:53:01 瀏覽:397
linux無密碼登陸 發布:2024-05-08 21:52:55 瀏覽:508
收件伺服器和發件伺服器如何設定 發布:2024-05-08 21:47:55 瀏覽:834
搭建節點ip用什麼伺服器 發布:2024-05-08 21:46:58 瀏覽:126
派什麼編程 發布:2024-05-08 21:25:43 瀏覽:340
手機作為存儲設備 發布:2024-05-08 21:23:34 瀏覽:493
蘋果x配置如何看 發布:2024-05-08 21:15:34 瀏覽:32
易語言加密文件夾 發布:2024-05-08 21:15:33 瀏覽:695
b站如何知道賬號密碼 發布:2024-05-08 20:33:55 瀏覽:691