2011-06-30 24 views
61

基本上我想知道我們是否可以在Android OS < 3.0的設備中使用片段佈局。Android 2.2.1,2.3,2.0中的碎片。這可能嗎?

我的應用程序頂部有5個不同的按鈕,開始總是第一個按鈕被默認點擊,所以這些按鈕下方的視圖是第一個視圖。現在當你點擊它旁邊的第二個按鈕時,我不想刷新標題圖像,但是它下方的視圖需要刷新。所以它像更新標題圖像按鈕下面的片段。

因此,我們可以在Android設備中使用操作系統< 3.0的碎片。

薩那。

+0

你是怎麼解決這個問題的? –

回答

140

您必須使用Google提供的兼容性庫。這裏是你如何使用設備上的< 3.0

  • 打開Eclipse片段
  • 窗口 - > Android SDK和AVD
  • 可用包 - > Android的支持包(安裝此)

一旦安裝,右鍵單擊您想添加Fragment支持的Android項目。

  • 構建路徑 - >配置構建路徑
  • 庫選項卡
  • 添加外部JAR
  • 添加Android的支持 - v4.jar(應該是在Android下載下Extras文件夾/安卓/支持/ V4

現在你的應用程序支持片段。有使用兼容包在使用SDK 3.0+一些關鍵性的差異。例如

  1. 使用分段的活動類必須擴展爲FragmentActivity而不是Activity
  2. 代替getFragmentManager(),你必須使用getSupportFragmentManager

享受!

+8

shuut me!我甚至沒有閱讀Android文檔!我很尷尬! – Sana

6

是的,片段從Android 1.6支持。欲瞭解更多信息,請參閱:Compatibility Library

+0

嗯,文檔(http://developer.android.com/reference/android/app/Fragment.html)說它是...因爲API Level 11(android 3.0) – Matthieu

+0

我已經更新了答案。最初的片段是在3.0中引入的,但有一個適用於Android 1.6+的兼容庫,支持片段。 – inazaruk

+0

不錯......謝謝。 – Matthieu

6

在Eclipse Indigo中,您可以右鍵單擊項目 - > Android工具 - >添加支持庫。然後,使用import android.support.v4.app.Fragment;

0

yes, Android爲使用向後兼容性提供支持庫,而不是使用import android.app.Fragment。 選擇項目 - >右鍵 - > android工具 - >添加支持庫

1

對於Android Studio,您需要右鍵單擊應用程序名稱>打開模塊設置>依賴關係選項卡>點擊'+'添加依賴關係。

您需要在您的所有片段補充一點:

import android.support.v4.app.Fragment; 

進口給你的MainActivity:

使用此的import android.support.v4.app.FragmentManager;代替import android.app.FragmentManager;

,取而代之的getFragmentManager(),你必須使用getSupportFragmentManager();