1, Android Support V4, V7, V13是什么?
本质上就是三个java library。
2, 为什么要有support库?
如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库。
3, 三个Support 库的区别和作用是什么?
Android Support v4 是最早(2011年4月份)实现的库。用在Android1.6 (API lever 4)或者更高版本之上。它包含了相对V4, V13大的多的功能。
例如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider 等。
详细API 参考 http://developer.android.com/reference/android/support/v4/app/package-summary.html
Android Support v7: 这个包是为了考虑Android2.1(API level 7) 及以上版本而设计的,但是v7是要依赖v4这个包的,也就是如果要使用,两个包得同时 被引用。
v7支持了Action Bar。
Android Support v13:这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。
4, 如何使用?
首先要保证Android Support Library 被安装
然后在工程中增加(例如 support-v4 Library)
在ADT中需要按照以下步骤:
1、右击当前工程,查找Properties
2、选择Java Build Path
3、选择Libraries tab,点击右边面板的Add External JARs按钮
4、选择android-support-v4.jar文件,这一文件的常见路径为:YOUR_DRIVE\android-sdks\extras\android\support\v4\android-support-v4.jar
5、完成添加后,选择Order and Export标签,确认即可。
5,v4、v7、v13 的例子代码
4v : <sdk>/extras/android/support/samples/Support4Demos/
7v : <sdk>/extras/android/support/samples/Support7Demos/
13v : <sdk>/extras/android/support/samples/Support13Demos/
App Navigation: <sdk>/extras/android/support/samples/SupportAppNavigation/
6,内容介绍
(1)support-v4
support-v4包算是 Android 最低等级的支持包。所谓的 v4,代表着它最低支持 Android1.6(API Level4),这个版本算得上是一个真正意义上比较成熟的 Android版本,更何况现在我们写应用的时候一般都只最低支持到 Android 2.x 系统,对于1.x 的系统基本已经已经完全抛弃了,因此你可已经他作为最基本的系统组件使用。
在 support-v4包中,它所拥有的类还是很多的,主要包含了对应用组件的支持,用户交互体验的一些工具类,一些数据网络方面的工具类,相面我们将详细来看看它里面具体的一些类。
1.系统组件部分
Fragment:其实 Fragment 是直到 Android3.0才正式进入 Android 框架体系的,但是 Android 为了低版本的兼容,因此他帮我们在低版本也适配了 Fragment 框架
NotificationCompat:这是通知栏的一些适配,可以帮助你在低版本的通知栏显示更加丰富的信息
LocalBroadcastManager:这个是用于本地广播通知的,当你希望发送的通知只被本应用接收时,你就应该使用它
2.用户界面交互部分
ViewPager,这个相信我不用怎么说了,他主要用于帮助我们进行界面间的滑动交互
PagerTitleStrip,PagerTabStrip 这两个算是 ViewPager 的帮助类吧,他们的作用是进行 Tab 栏的切换辅助显示
DrawerLayout,主要用于侧滑栏的实现
SlidingPaneLayout,这个类也是用于侧滑栏的实现,和 DrawerLayout 不同的是,DrawerLayout 侧滑栏出来的时候,默认是覆盖在当前页面上,而 SlidingPaneLayout 则是会将当前页面移走。
3. Accessbility访问的帮助类
ExploreByTouchHelper,帮助自定义 View 实现 Accessibility 的工具类
AccessbilityEventCompat, AccessbilityNodeInfoCompat, AccessbilityNodeProviderCompat, AccessbilityDelegateCompat,这几个都是用作 Accessibility 功能适配的类
4.数据访问帮助类
Loader,主要用于异步加载数据
FileProvider,提供应用间的文件分享功能
(2)support-v7
1.Appcompat
这个包的主要作用是为了在低版本实现 Android 的 Holo 风格界面而引入的,与之类似的有一个开源项目叫做 SherlockActionbar
2.CardView
卡片布局是最近在 android5.0发布的时候才引入的新包,在我看来,他主要效果是让应用进行卡片花显示
3.GridLayout
网格布局能够帮助你将整个布局按照一格两格的格子形式进行排列
4.MediaRouter
这个布局主要是用来支持 GoogleCast 的,主要用于进行设备间的音频,视频交换显示
5.Palette
这个包也是最新出来的,他的作用是帮助 Android 实现他的 MaterialDesign,让你的 Actionbar 能够根据界面进行对应的颜色改变
7.RecyclerView
这个包同样也是刚出来的,他的作用是替换 ListView 和 GridView,但是可惜是没有实现 OnItemClick 这些接口,你需要自己处理它
(3)support-v8
support-v8中其实只有一格特性,就是用来渲染脚本
(4)support-v13
这个包的作用主要是为 Android3.2级以上的系统提供更多地 Framgnet 特性支持,使用它的原因在于,android-support-v4包中虽然也对 Fragment 做了支持,由于要兼容低版本,导致他是自行实现的 Fragment 效果,在高版本的 Fragment 的一些特性丢失了,而对于 v13以上的 sdk 版本,我们可以使用更加有效,特性更多的代码
(5)support-v17
这个包得主要作用是用于支持电视设备,并为电视设备提供了很多组件
例如下面的:
BrowseFragment, DetailFragment, PlaybasckOverlayFragment, SearchFragment
但是原谅我没有做过 Android TV 开发,我也不知道他们的用处是什么,如果真的想要查看,请去官网看看吧
引用:
http://blog.csdn.net/hh2000/article/details/39718623;
http://blog.csdn.net/u010015108/article/details/52459890;