Android Support Library解釋

tags: android support library


Google官方開發(fā)者網站有一篇文章專門解釋了這一系列Support Library,網絡上的很多文章都翻譯自它。文章地址在這里。
下面是我自己的一些總結。

為什么要提供Support Library

最主要的原因就是:為了能在低版本的Android系統(tǒng)上使用高版本的SDK才具有的新功能、新特性。比如,Fragment,ActionBar、Material Design風格等。

Google把這些高版本SDK才具有的新特性打包進Support Library,當開發(fā)者想使用這些新特性,又需要兼容老版本Android系統(tǒng)時,就可以引入Support Library。當然,這些打包進Support Library的新特性,全部都被完整的包含在了最新的Android SDK中。所以如果開發(fā)者的App僅支持最新系統(tǒng),也可以不引入Support Library。

Google為了使開發(fā)者可以方便的引入Support Library,把它們做成了依賴包的形式,通過Gradle可以很方便的引入,例如:

    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.3.0'

除了最主要的原因,還有其他幾點原因,可以參考Google官方文檔對此的解釋。

Support Library的分類

Android Support Library只是一個名稱,并不是一個真正的library,它由多個具體的library集合而成。每個單獨的library都包含一些新特性,可以支持不同版本的Android系統(tǒng),可以被單獨引入。
一般來說,每個Support Library包含的新特性都是不同的,它們交叉互補,以插件化的形式提供對低版本系統(tǒng)的支持。

1. V4 Support Library

支持Android 1.6(API level 4)及以上。它包含了最多的新特性,典型的有:

  • Fragment
  • VIewPager
  • DrawerLayout
  • SlidingPaneLayout

引入:

    compile 'com.android.support:support-v4:24.1.1'

2. v7 Support Libraries

支持Android 2.1(API level 7)及以上。由一系列獨立的v7包組成,可以分別引入。

2.1 v7 appcompat library

依賴v4 Support Library?,F在在Android Studio中新建一個工程,默認就會引入這個library。而它又依賴v4 Support Library,所以v4 Support Library也會被默認引入工程。
這個庫主要的作用就是提供對Action Bar的支持。

使用:

    compile 'com.android.support:appcompat-v7:24.1.1'

2.2 v7 cardview library

提供了CardView控件,一種Material Design風格的卡片形控件。

使用:

com.android.support:cardview-v7:24.1.1

2.3 v7 gridlayout library

提供了GridLayout類,一種網格布局控件,與LinearLayout,RelativeLayout同級。

使用:

com.android.support:gridlayout-v7:24.1.1

2.4 v7 mediarouter library

官方文檔的解釋是:用來控制多媒體流的分發(fā)。但是實際中基本很少用到,有興趣的可以參考官方文檔

2.5 v7 palette library

提供了Palete類,可以從一張圖片中提取出它的主色調。

使用:

com.android.support:palette-v7:24.1.1

2.6 v7 recyclerview library

提供了RecyclerView類,一個類似ListView,但是比ListVIew性能更好的控件。一般用來展示大量數據,可以完全替代ListView。

使用:

com.android.support:recyclerview-v7:24.1.1

2.7 v7 Preference Support Library

提供了一系列API,用于支持創(chuàng)建Material Design風格的首選項頁面。官方有一篇指導文檔,但是感覺雖然方便了開發(fā),但是靈活性和可定制性不高。

使用:

com.android.support:preference-v7:24.1.1

3. Design Support Library

它是Android官方用來方便開發(fā)者在應用中實現Android Material Design風格的UI而提供的支持庫,里面有很多Android官方提供的Material Design風格的輪子。主要的輪子有:

  • AppBarLayout
  • BottomSheetDialogFragment
  • CollapsingToolbarLayout
  • CoordinatorLayout
  • FloatingActionButton
  • NavigationView
  • Snackbar
  • TabLayout
  • TextInputLayout
  • TextInputEditText

Google開發(fā)者博客上還有一個視頻,專門介紹了這個庫。

使用:

com.android.support:design:24.1.1

4. Multidex Support Library

提供支持多個dex文件的功能,解決方法65536的限制。

使用:

com.android.support:multidex:1.0.0

5. v8 Support Library

支持Android 2.2(API level 8)及以上。

5.1 v8 renderscript library

感覺一般的應用級開發(fā)用不到(也可能是我太弱雞了),具體還是參考官方文檔吧。

6. v13 Support Library

支持Android 3.2(API level 13)及以上。這個library是為在平板上使用Fragment而設計的,現在應該幾乎用不到了。

使用:

com.android.support:support-v13:24.1.1

7. v14 Preference Support Library

主要是添加了首選項Fragment類-PreferenceFragment和首選項接口-PreferenceFragment.OnPreferenceDisplayDialogCallback,PreferenceFragment.OnPreferenceStartFragmentCallback,PreferenceFragment.OnPreferenceStartScreenCallback。與v7 Preference Support Library搭配使用,參見官方文檔。

使用:

com.android.support:preference-v14:24.1.1

8. Annotations Support Library

提供對注解的支持。

使用:

com.android.support:support-annotations:24.1.1

9. Custom Tabs Support Library

提供了一些API,用于添加和管理自定義tab。

使用:

com.android.support:customtabs:24.1.1

10. Percent Support Library

添加了百分比布局控件,如PercentFrameLayout,PercentRelativeLayout。

使用:

com.android.support:percent:24.1.1

11. v17 Preference Support Library for TV

提供了在電視平臺上,構建首選項頁面的接口,作用類似于v7 Preference Support Libraryv14 Preference Support Library

使用:

com.android.support:preference-leanback-v17:24.1.1

12. v17 Leanback Library

提供了在電視平臺上,用于構建用戶界面的一系列重要控件。以下是一些關鍵的類:

使用:

com.android.support:leanback-v17:24.1.1

13. App Recommendation Support Library for TV

在電視平臺上,添加了用于做內容推薦的一系列API。

使用:

com.android.support:recommendation:24.1.1

參考文章

  1. Support Library Features
  2. android design support library
  3. Material design
  4. 面向開發(fā)者的材料設計
  5. Android Support Library介紹
  6. Android Support兼容包詳解
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372

推薦閱讀更多精彩內容