Android Support相容包詳解

來源:互聯網
上載者:User

標籤:

背景

來自於知乎上邀請回答的一個問題Android中AppCompat和Holo的一個問題?, 看來很多人還是對這些相容包搞不清楚,那麼乾脆寫篇部落格吧.

Support Library

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

  • support-v4

用在API lever 4(即Android 1.6)或者更高版本之上。它包含了相對更多的內容,而且用的更為廣泛,例如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabStrip,Loader,FileProvider 等

Gradle引用方法:

compile ‘com.android.support:support-v4:21.0.3‘
  • support-v7

這個包是為了考慮API level 7(即Android 2.1)及以上版本而設計的,但是v7是要依賴v4這個包的,v7支援了Action Bar以及一些Theme的相容。

Gradle引用方法:

compile ‘com.android.support:appcompat-v7:21.0.3‘
  • support-v13

這個包的設計是為了API level 13(即Android 3.2)及更高版本的,一般我們都不常用,平板開發中能用到,這裡就不過多介紹了。

Theme

回到知乎上的這個問題,我們來介紹下各種Theme的概念。

  • Hoho Theme

在4.0之前Android可以說是沒有設計可言的,在4.0之後推出了Android Design,從此Android在設計上有了很大的改善,而在程式實現上相應的就是Holo風格,所以你看到有類似 Theme.Holo.Light、 Theme.Holo.Light.DarkActionBar 就是4.0的設計風格,但是為了讓4.0之前的版本也能有這種風格怎麼辦呢?這個時候就不得不引用v7包了,所以對應的就有Theme.AppCompat.Light、 Theme.AppCompat.Light.DarkActionBar,如果你的程式最小支援的版本是4.0,那麼可以不用考慮v7的相容。

  • Material Design Theme

今年的5.0版本,Android推出了Material Design的概念,這是在設計上Android的又一大突破。對應的程式實現上就有Theme.Material.Light、 Theme.Material.Light.DarkActionBar等,但是這種風格只能應用在在5.0版本的手機,如果在5.0之前應用Material Design該怎麼辦呢?同樣的引用appcompat-v7包,這個時候的Theme.AppCompat.LightTheme.AppCompat.Light.DarkActionBar就是相對應相容的Material Design的Theme。

注意事項
  • gradle引用appcompat-v7包的時候就不需要引用v4了,因為v7裡預設包含了v4包;

  • compile ‘com.android.support:appcompat-v7:21.0.3’ 中的21代表API level 21推出的相容包,所以如果你引用的是21之前的版本,則預設這些Theme.AppCompat.Light是Holo風格的,從21開始的版本預設是Material風格

  • 使用appcompat之後,你的所有的Activity應該繼承自ActionBarActivity,而ActionBarActivity繼承自FragmentActivity,所以放心的使用Fragment;

最後,相信已經講的很清楚了,大家有問題可直接部落格留言。如果英語好的,可直接移步官方最權威的解釋https://developer.android.com/tools/support-library/features.html

Android Support相容包詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.