×

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

96
泽毛
2017.02.20 22:14* 字数 943

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 知识梳理系列:

Material Design 控件
Web note ad 1