举个例子:
系统的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)和更低版本的支持。仅用于这些系统版本的类和方法现在被标记为“弃用”,因而不应继续使用。未来版本可能会移除这些弃用的类和方法。
注意事项2
Android Design和Material Design
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.Light、 Theme.AppCompat.Light.DarkActionBar就是相对应兼容的Material Design的Theme。
注意事项3
gradle引用appcompat-v7包的时候就不需要引用v4了,因为v7里默认包含了v4包;
compile ‘com.android.support:appcompat-v7:24.0.3’ 中的24代表API level 24推出的兼容包,所以如果你引用的是21之前的版本,4.0以上,则默认这些是Hoho Theme风格的,从21开始的版本默认是Material Design Theme风格。同时,
Paste_Image.png
如图可知:系统21给他value 21的,系统22给他value 22的.系统23给他value 23的。
注意事项4
所以我们在build.grade里写入这个compile时,如果偏小会出现这种情况
因此,如果使用 Support Library,那么使用最新发布的 Support Library 就需要使用最新的 SDK 编译。例如,要使用 23.1.1 版本的 Support Library ,compileSdkVersion 就必需至少是 23 (大版本号要一致!)。通常,新版的 Support Library 随着新的系统版本而发布,它为系统新增加的 API 和新特性提供兼容性支持。
网友评论