Android Support Library解釋

tags: android support library


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

為什么要提供Support Library

最主要的原因就是:為了能在低版本的Android系統(tǒng)上使用高版本的SDK才具有的新功能、新特性。比如,F(xiàn)ragment,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。現(xiàn)在在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類,一種網(wǎng)格布局控件,與LinearLayout,RelativeLayout同級。

使用:

com.android.support:gridlayout-v7:24.1.1

2.4 v7 mediarouter library

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

2.5 v7 palette library

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

使用:

com.android.support:palette-v7:24.1.1

2.6 v7 recyclerview library

提供了RecyclerView類,一個類似ListView,但是比ListVIew性能更好的控件。一般用來展示大量數(shù)據(jù),可以完全替代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ā)者在應用中實現(xiàn)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而設計的,現(xiàn)在應該幾乎用不到了。

使用:

com.android.support:support-v13:24.1.1

7. v14 Preference Support Library

主要是添加了首選項Fragment類-PreferenceFragment和首選項接口-PreferenceFragment.OnPreferenceDisplayDialogCallbackPreferenceFragment.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

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

使用:

com.android.support:percent:24.1.1

11. v17 Preference Support Library for TV

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

使用:

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

12. v17 Leanback Library

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

使用:

com.android.support:leanback-v17:24.1.1

13. App Recommendation Support Library for TV

在電視平臺上,添加了用于做內(nèi)容推薦的一系列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兼容包詳解
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容