舉個例子:
系統(tǒng)的android.widget.toolbar 是最低到Android 5.0 (API21)
android.support.v7.widget.Toolbar是最低兼容到Android2.3(API9)
24.2.0的v7包開始就是兼容到android 2.3,不向下兼容了扇商。
注意事項1
支持庫毒姨,自版本 24.2.0 起不再提供對 Android 2.2(API 級別 8)和更低版本的支持。僅用于這些系統(tǒng)版本的類和方法現(xiàn)在被標(biāo)記為“棄用”溶浴,因而不應(yīng)繼續(xù)使用乍迄。未來版本可能會移除這些棄用的類和方法。
注意事項2
Android Design和Material Design
Theme
Hoho Theme
在4.0之前Android可以說是沒有設(shè)計可言的士败,在4.0之后推出了Android Design闯两,從此Android在設(shè)計上有了很大的改善,而在程序?qū)崿F(xiàn)上相應(yīng)的就是Holo風(fēng)格谅将,所以你看到有類似 Theme.Holo.Light漾狼、 Theme.Holo.Light.DarkActionBar 就是4.0的設(shè)計風(fēng)格,但是為了讓4.0之前的版本也能有這種風(fēng)格怎么辦呢饥臂?這個時候就不得不引用v7包了逊躁,所以對應(yīng)的就有 Theme.AppCompat.Light、 Theme.AppCompat.Light.DarkActionBar隅熙,如果你的程序最小支持的版本是4.0稽煤,那么可以不用考慮v7的兼容。
Material Design Theme
今年的5.0版本囚戚,Android推出了Material Design的概念酵熙,這是在設(shè)計上Android的又一大突破。對應(yīng)的程序?qū)崿F(xiàn)上就有 Theme.Material.Light驰坊、 Theme.Material.Light.DarkActionBar等匾二,但是這種風(fēng)格只能應(yīng)用在在5.0版本的手機,如果在5.0之前應(yīng)用Material Design該怎么辦呢拳芙?同樣的引用appcompat-v7包假勿,這個時候的Theme.AppCompat.Light、 Theme.AppCompat.Light.DarkActionBar就是相對應(yīng)兼容的Material Design的Theme态鳖。
注意事項3
gradle引用appcompat-v7包的時候就不需要引用v4了转培,因為v7里默認(rèn)包含了v4包;
compile ‘com.android.support:appcompat-v7:24.0.3’ 中的24代表API level 24推出的兼容包浆竭,所以如果你引用的是21之前的版本,4.0以上浸须,則默認(rèn)這些是Hoho Theme風(fēng)格的惨寿,從21開始的版本默認(rèn)是Material Design Theme風(fēng)格。同時删窒,
如圖可知:系統(tǒng)21給他value 21的裂垦,系統(tǒng)22給他value 22的.系統(tǒng)23給他value 23的。
注意事項4
所以我們在build.grade里寫入這個compile時肌索,如果偏小會出現(xiàn)這種情況
因此蕉拢,如果使用 Support Library,那么使用最新發(fā)布的 Support Library 就需要使用最新的 SDK 編譯诚亚。例如晕换,要使用 23.1.1 版本的 Support Library ,compileSdkVersion 就必需至少是 23 (大版本號要一致站宗!)闸准。通常,新版的 Support Library 隨著新的系統(tǒng)版本而發(fā)布梢灭,它為系統(tǒng)新增加的 API 和新特性提供兼容性支持夷家。