一、Support兼容包
Android Support V4, V7, V13本質(zhì)上就是三個java library智政。如果在低版本Android平臺上開發(fā)一個應(yīng)用程序,而應(yīng)用程序又想使用高版本才擁有的功能续捂,就需要使用這些Support庫垦垂。
1.support-v4
用在API lever 4(即Android 1.6)或者更高版本之上。它包含了相對更多的內(nèi)容牙瓢,而且用的更為廣泛,例如:
Fragment矾克,NotificationCompat,LoadBroadcastManager胁附,ViewPager酒繁,PageTabStrip控妻,Loader州袒,F(xiàn)ileProvider 等
Gradle引用方法:
compile 'com.android.support:support-v4:21.0.3'
2.support-v7
這個包是為了考慮API level 7(即Android 2.1)及以上版本而設(shè)計的弓候,但是v7是要依賴v4這個包的郎哭,v7支持了Action Bar以及一些Theme的兼容菇存。
Gradle引用方法:
compile 'com.android.support:appcompat-v7:21.0.3'
5.0之前的老版本,官方提供的途徑是使用appcompat v7-21 support庫依鸥。v7的意思是支持Android v7 (2.1)及以上的老版Android亥至,21是appcompat這個庫的版本毕籽。Google在文檔里也經(jīng)常直接叫做appcompat v21抬闯,不要混淆关筒。
3.support-v13
這個包的設(shè)計是為了API level 13(即Android 3.2)及更高版本的,一般我們都不常用蒸播,平板開發(fā)中能用到睡榆,這里就不過多介紹了。
二胀屿、Theme
1.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的兼容婴削。
2.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镰惦。
三、注意事項
- gradle引用appcompat-v7包的時候就不需要引用v4了旺入,因為v7里默認(rèn)包含了v4包兑凿;
- compile ‘com.android.support:appcompat-v7:21.0.3’ 中的21代表API level 21推出的兼容包,所以如果你引用的是21之前的版本礼华,則默認(rèn)這些Theme.AppCompat.Light是Holo風(fēng)格的,從21開始的版本默認(rèn)是Material風(fēng)格
- 使用appcompat之后圣絮,你的所有的Activity應(yīng)該繼承自ActionBarActivity,而ActionBarActivity繼承自FragmentActivity扮匠,所以放心的使用Fragment行瑞;