Material Design 控件知识梳理(1) - Android Design Support Library 是什么

Material Design 控件知识梳理(1) - Android Design Support Library 是什么
Material Design 控件知识梳理(2) - AppBarLayout & CollapsingToolbarLayout
Material Design 控件知识梳理(3) - BottomSheet && BottomSheetDialog && BottomSheetDialogFragment
Material Design 控件知识梳理(4) - FloatingActionButton
Material Design 控件知识梳理(5) - DrawerLayout && NavigationView
Material Design 控件知识梳理(6) - Snackbar
Material Design 控件知识梳理(7) - BottomNavigationBar
Material Design 控件知识梳理(8) - TabLayout
Material Design 控件知识梳理(9) - TextInputLayout

一、为什么需要Support

由于应用除了会依赖libraryjar包外,还需要依赖安卓系统本身的代码,也就是我们在SDK每个版本中看到的android.jar,这里面集成了Android的所有API,随着SDK版本的升级,高版本的SDK中会增加新的API,如果在低版本中要使用这些新增的API,那么只能将新增的API以依赖包的形式集成到需要使用高版本API的应用当中,也就是support包。

二、Support包的结构

Paste_Image.png

2.1 V4

Android Support Library 24.2.0以前,v4包支持的最小API为4,而在之后的版本,移除了8及以下版本的支持,同时,将v4包拆分成了独立的5个包。

  • com.android.support:support-compat:24.2.1
    说明:兼容一些framework API,例如Context.getDrawableView.performAccessibilityAction
  • com.android.support:support-core-utils:24.2.1
    说明:提供一些核心的工具类,如AsyncTaskLoaderPermissionChecker
  • com.android.support:support-core-ui:24.2.1
    说明:提供一系列核心的UI,例如ViewPagerNestedScrollViewDrawerLayout
  • com.android.support:support-media-compat:24.2.1
    说明:媒体android.media兼容库,包括MediaBrowserMediaSession
  • com.android.support:support-fragment:24.2.1
    说明:依赖了其它4个子库,一旦导入这个包就会导入其余的库。

依赖关系:

Paste_Image.png

2.2 V7

V7也包含多个独立包,从24.2.0开始,将V7支持的最低版本升为9。

  • com.android.support:appcompat-v7:24.2.1
    说明:这个支持对ActionBar接口的设计模式,Material Design接口的实现等,核心类包括ActionBarAppCompactActivityAppCompactDialogShareActionProvider等。
  • com.android.support:cardview-v7:24.2.1
    说明:CardView控件
  • com.android.support:gridlayout-v7:24.2.1
    说明:GridLayout布局
  • com.android.support:mediarouter-v7:24.2.1
    说明:用于设备间音频、视频交换显示的support包。
  • com.android.support:palette-v7:24.2.1
    说明:提取图片中的主题色
  • com.android.support:recyclerview-v7:24.2.1
    说明:RecyclerView
  • com.android.support:preference-v7:24.2.1
    说明:支持控件存储配置数据的,例如CheckBoxPreferenceListPreference

2.3 V8

用于渲染脚本的support

2.4 V13

API为13或以上的Fragment提供更多特性的支持。

2.5 com.android.support:multidex:1.0.0

用于使用多Dex技术编译APP,当一个应用的方法数大于65536时,需要使用multidex配置。

2.6 com.android.support:support-annotations:24.2.1

支持注解。

2.7 com.android.support:design:24.2.1

用于支持Design PatternsSupport包,它提供了Material Design设计风格的控件:

  • FloatingActionButton
  • Snackbar
  • TextInputLayout
  • TabLayout
  • AppBarLayout
  • CollapsingToolbarLayout
  • CoordinatorLayout
  • NavigationView

2.8 com.android.support:customtabs:24.2.1

在应用中添加和管理Custom Tabssupport包,提供了一种新的打开网页的方式。

2.9 com.android.support:percent:24.2.1

支持百分比布局的support包。


更多文章,欢迎访问我的 Android 知识梳理系列:

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 135,381评论 17 573
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 10,097评论 1 43
  • 在之前的开发经历中经常需要导入一些如v4、v7、v13等Android官方的支持包,遇到这些情况时都是网上搜索一下...
    都有米阅读 11,664评论 35 137
  • 荆公认为:社会财富并不是一个一成不变的定数,而是通过价值不断创造不断增加。政府通过适当的政策来引导价值创造,...
    才主阅读 603评论 0 0
  • 文/恒诚恬勇 时隔四年我和你又见面了。 当我转向你,你依旧还是穿着衬衫,夹克衣,风格没变,只是颜色上变化了。 我站...
    石沉阅读 657评论 32 8