Android Support 包裡究竟有什麼

2021-07-11 01:10:06 字數 3222 閱讀 9905

隨著 android 5.0 lollipop 的發布,android 又為我們提供了更多的支援包,但是我相信大部分開發者都同我之前一樣不知道這些包裡究竟有些什麼東西,我們應該在什麼時候使用它。現在,我們就來逐個看看每乙個版本的 support 包中所擁有的東西,讓用到他的時候不再迷茫。

首先,你需要了解每乙個 support 包版本字尾 vx 所代表的含義。當然我相信來看部落格的諸位都一定知道 android 對於每乙個版本都有乙個版本號,例如2.1是7,4.0是14,5.0是21。而這裡,v 之後的數字,就代表著他能夠被使用的最低版本等級,之所以無法在更低版本進行使用的原因,是因為隨著版本的公升級,在新版本中有很多之前不支援的特性或者 api,因此如果你在老版本中使用了這些支援包,就可能會導致應用崩潰。

總結:

google提供了android support library package 系列的包來保證來高版本sdk開發的向下相容性,即我們用4.x開發時,在1.6等版本上,可以使用高版本的有些特性,如fragement,viewpager等。

下面,簡單說明下這幾個版本間的區別:

android support v4: 這個包是為了照顧1.6及更高版本而設計的,這個包是使用最廣泛的,eclipse新建工程時,都預設帶有了。

android support v7:這個包是為了考慮照顧2.1及以上版本而設計的,但不包含更低,故如果不考慮1.6,我們可以採用再加上這個包。

android support v13:這個包的設計是為了android 3.2及更高版本的,一般我們都不常用,平板開發中能用到。

詳細講解

現在,我們從頭開始逐個瀏覽目前所支援的 support 包:

(1)support-v4

support-v4包算是android最低等級的支援包。所謂的v4,代表著它最低支援android1.6(api level4),這個版本算得上是乙個真正意義上比較成熟的 android版本,更何況現在我們寫應用的時候一般都只最低支援到 android 2.x 系統,對於1.x 的系統基本已經已經完全拋棄了,因此你可已經他作為最基本的系統元件使用。

在 support-v4包中,它所擁有的類還是很多的,主要包含了對應用元件的支援,使用者互動體驗的一些工具類,一些資料網路方面的工具類,相面我們將詳細來看看它裡面具體的一些類。

1.系統元件部分

fragment:其實 fragment 是直到 android3.0才正式進入 android 框架體系的,但是 android 為了低版本的相容,因此他幫我們在低版本也適配了 fragment 框架

notificationcompat:這是通知欄的一些適配,可以幫助你在低版本的通知欄顯示更加豐富的資訊

localbroadcastmanager:這個是用於本地廣播通知的,當你希望傳送的通知只被本應用接收時,你就應該使用它

2.使用者介面互動部分

viewpager,這個相信我不用怎麼說了,他主要用於幫助我們進行介面間的滑動互動

pagertitlestrip,pagertabstrip 這兩個算是 viewpager 的幫助類吧,他們的作用是進行 tab 欄的切換輔助顯示

drawerlayout,主要用於側滑欄的實現

slidingpanelayout,這個類也是用於側滑欄的實現,和 drawerlayout 不同的是,drawerlayout 側滑欄出來的時候,預設是覆蓋在當前頁面上,而 slidingpanelayout 則是會將當前頁面移走。

3. accessbility訪問的幫助類

explorebytouchhelper,幫助自定義 view 實現 accessibility 的工具類

accessbilityeventcompat, accessbilitynodeinfocompat, accessbilitynodeprovidercompat, accessbilitydelegatecompat,這幾個都是用作 accessibility 功能適配的類

4.資料訪問幫助類

loader,主要用於非同步載入資料

fileprovider,提**用間的檔案分享功能

(2)support-v7

這個包的主要作用是為了在低版本實現 android的holo風格介面而引入的,與之類似的有乙個開源專案叫做 sherlockactionbar

2.cardview

卡片布局是最近在 android5.0發布的時候才引入的新包,在我看來,他主要效果是讓應用進行卡片化顯示。

3.gridlayout

網格布局能夠幫助你將整個布局按照一格兩格的格仔形式進行排列

4.mediarouter

5.palette

這個包也是最新出來的,他的作用是幫助 android 實現他的 materialdesign,讓你的 actionbar能夠根據介面進行對應的顏色改變。

7.recyclerview

這個包同樣也是剛出來的,他的作用是替換 listview 和 gridview,但是可惜是沒有實現 onitemclick 這些介面,你需要自己處理它。

(3)support-v8

support-v8中其實只有一格特性,就是用來渲染指令碼

(4)support-v13

這個包的作用主要是為 android3.2級以上的系統提供更多地 framgnet 特性支援,使用它的原因在於,android-support-v4包中雖然也對 fragment 做了支援,由於要相容低版本,導致他是自行實現的fragment效果,在高版本的 fragment的一些特性丟失了,而對於v13以上的sdk版本,我們可以使用更加有效,特性更多的**

(5)support-v17

這個包得主要作用是用於支援電視裝置,並為電視裝置提供了很多元件

例如下面的:

browsefragment, detailfragment, playbasckoverlayfragment, searchfragment

Android Support相容包詳解

我們都知道android一些sdk比較 為此google官方提供了android support library package 系列的包來保證高版本sdk開發的向下相容性,所以你可能經常看到v4,v7,v13這些數字,首先我們就來理清楚這些數字的含義,以及它們之間的區別。用在api lever 4...

Android Support相容包 詳解

我們都知道android一些sdk比較 為此google官方提供了android support library package 系列的包來保證高版本sdk開發的向下相容性,所以你可能經常看到v4,v7,v13這些數字,首先我們就來理清楚這些數字的含義,以及它們之間的區別。用在api lever 4...

Android Support相容包詳解

我們都知道android一些sdk比較 為此google官方提供了android support library package 系列的包來保證高版本sdk開發的向下相容性,所以你可能經常看到v4,v7,v13這些數字,首先我們就來理清楚這些數字的含義,以及它們之間的區別。用在api lever 4...