本质上就是三个java library。
如果在低版本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
这个包是为了考虑Android2.1(API level 7) 及以上版本而设计的,但是v7是要依赖v4这个包的,也就是如果要使用,两个包得同时被引用。v7支持了Action Bar。
这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。
首先要保证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标签,确认即可。
在 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,提供应用间的文件分享功能
1.Appcompat
这个包的主要作用是为了在低版本实现 Android 的 Holo 风格界面而引入的,与之类似的有一个开源项目叫做 SherlockActionbar
2.CardView
卡片布局是最近在 android5.0发布的时候才引入的新包,在我看来,他主要效果是让应用进行卡片花显示
3.GridLayout
网格布局能够帮助你将整个布局按照一格两格的格子形式进行排列
4.MediaRouter
这个布局主要是用来支持 GoogleCast 的,主要用于进行设备间的音频,视频交换显示
5.Palette
这个包也是最新出来的,他的作用是帮助 Android 实现他的 MaterialDesign,让你的 Actionbar 能够根据界面进行对应的颜色改变
7.RecyclerView
这个包同样也是刚出来的,他的作用是替换 ListView 和 GridView,但是可惜是没有实现 OnItemClick 这些接口,你需要自己处理它
support-v8中其实只有一格特性,就是用来渲染脚本
这个包的作用主要是为 Android3.2级以上的系统提供更多地 Framgnet 特性支持,使用它的原因在于,android-support-v4包中虽然也对 Fragment 做了支持,由于要兼容低版本,导致他是自行实现的 Fragment 效果,在高版本的 Fragment 的一些特性丢失了,而对于 v13以上的 sdk 版本,我们可以使用更加有效,特性更多的代码
这个包得主要作用是用于支持电视设备,并为电视设备提供了很多组件
例如下面的:
BrowseFragment, DetailFragment, PlaybasckOverlayFragment, SearchFragment