Android Support Library 实用介绍

support v4

最基础的兼容包,支持兼容至 API 4 (SDK 1.6),新建项目时默认自动加载,主要包含Fragment支持、ViewPager、DrawerLayout等

  • ColorUtils:颜色叠加复合、混合;亮度、对比度计算;HSL、LAB、XYZ模式转换
  • RoundedBitmapDrawableFactory:构造圆角Drawable对象
  • LocalBroadcastManager:App内本地广播
  • PermissionChecker:权限检查器,检查当前App授权状态时,也可通过ContextCompat的checkSelfPermission方法执行。配合ActivityCompat的requestPermissions、shouldShowRequestPermissionRationale方法请求授权和判断是否需要向用户解释权限用途。覆盖Activity的onRequestPermissionsResult方法接收权限申请结果。权限名称字符串可从Manifest.permission对象中提取。
    也可使用第三方库 PermissionsDispatcher,以注解方式自动、快速执行权限申请逻辑。
  • DrawerLayout:侧滑菜单
  • SwipeRefreshLayout:下拉刷新
  • SlidingPaneLayout:多列面板布局,主要用于平板设备
  • ViewDragHelper:用于拖动手势的辅助解析类
  • ListViewAutoScrollHelper:边缘触发持续滚动的帮助类
  • NestedScrollView:允许父容器与当前 ScrollView 分享共同处理一个touch(滚动)事件能力的增强型 ScrollView,主要用于 Material Design 中与 AppBarLayoutCoordinatorLayout 等协同响应UI动画
  • Space:轻量级View,仅用于产生间距分离两个Views

support v7

常用兼容包,支持兼容至 API 7 (SDK 2.1),包含AppCompatActivity、Toolbar等(不包含v4包提供的资源,需同时引入v4包)

  • AppCompatActivity:支持Toolbar和Fragment
  • Toolbar
  • v7-recyclerview:用于取代GridView和ListView
  • v7-cardview:卡片式设计UI
  • v7-gridLayout:网格布局Layout
  • v7-palette:用于分析图像中某种特征颜色的工具

Design Support Library

提供符合 Material Design 设计风格的标准控件,兼容至 Android 2.2(API 8)。

  • Snackbar:类似Toast模式的临时消息展示视图,并提供按钮在有限时间内触发反馈(一定时间后自动消失)
  • TextInputLayout:用于作为 EditText (建议使用 TextInputEditText)的父容器,以浮动 Label 方式展示 Hint 内容,并可以代码方式指定具体显示的提示文字和样式,如 Error 等
  • TextInputEditText:EditText 子类,用于在横屏模式的全屏键盘(extract mode)下,恢复提示文本的显示
  • Floating Action Button:浮动的 “ + ”(或设置为其他图形) 按钮
  • TabLayout:类似于 PagerSlidingTabStrip 的选项卡导航栏
  • NavigationView:用于在 DrawerLayout 中作为侧拉导航菜单标准组件,通过 app:headerLayout 指定头布局,通过 app:menu 指定菜单区域布局(通过标准 menu 元素布局自动生成)
  • CoordinatorLayout:通过指定 Behavior 处理器对特定的 ChildView 相对其他 DependencyView 的位置变化进行响应(或者说做相对同步移动布局),也可以做位置变化以外的其他响应动作(透明度、尺寸等)
    • Behavior:用于指定当前View(Child)相对于其他View(Dependency)作出自定义响应的逻辑脚本监听类
    • app:layout_behavior:用于 CoordinatorLayout 里的 ChildView 上,指定当前 View 相对于其他 View 的相对动作响应处理器
  • AppBarLayout:用于将多个组件组合作为一个 AppBar 的垂直 LinearLayout 容器,可与其他组件产生互动动画(例如在 ScrollView 滚动时,该 AppBar 同步消失等,通常搭配 NestedScrollView 使用)。通过其子View的 app:layout_scrollFlags 属性,指定各部分的同步滚动表现。支持同步滚动的组件类需实现 NestedScrollingChild 接口(此后可通过 ViewCompat 等类设置开关),或直接使用 NestedScrollView
  • NestedScrollView:位于 v4 support 包中,主要目的与 AppBarLayout 配合在 CoordinatorLayout 布局下实现相对滚动动作,常直接使用内置 Behavior@string/appbar_scrolling_view_behavior
  • CollapsingToolbarLayout:用于包装 ToolbarFrameLayout,提供可视化的缩放拉伸视觉效果(主要作用于 Toolbar 与其背景图片),需要放置在 AppBarLayout 下作为直接子View使用,使用方式可参考 玩转AppBarLayout
  • BottomSheetBehavior:以底部上拉菜单形式滑动推出View,支持拖动占满全屏,常用于 NestedScrollView 中的 app:layout_behavior 参数中,在 CoordinatorLayout 布局下生效,可通过 BottomSheetBehavior.from(View) 方式取得与View绑定的 Behavior 对象,并手动设置状态进行弹出 / 隐藏
  • BottomSheetDialog:以 BottomSheet 形式从底部推出的 Dialog,基于标准 Dialog,可填充任何自定义View,自动高亮模式(背景变暗)
  • BottomSheetDialogFragment:DialogFragment 形式的 BottomSheetDialog(Google推荐使用 DialogFragment 来创建自定义 Dialog,提供类似 Fragment 的生命周期管理,自动维护不同屏幕环境下的表现和自动现场恢复)

※ Material Design 主题颜色可通过 style 中的 colorAccent 变量来指定

参考:
  • Android Design Support Library使用详解 - csdn
  • Android Bottom Sheet详解 - csdn

Annotations Support Library

一组 Android 专用的注解,用于标记资源类型、运行线程、数值范围、非空、权限、保留不做混淆标记等目的。常用于辅助调用者使用符合协议规范的参数或调用方式,减少歧义逻辑错误。

compile 'com.android.support:support-annotations:25.+'
参考:
  • Improve Code Inspection with Annotations
  • Android注解支持(Support Annotations)
  • 在 Android 使用 Support Annotations 注解优化代码
  • Android 注解

Percent Support Library

专注提供以百分比划分空间的布局类,分别为PercentRelativeLayoutPercentFrameLayout,支持子控件在宽高以及margin上使用百分比数字进行约束:

compile 'com.android.support:percent:22.2.0'


    
...

Android SDK专用的几个结构类

  • SparseArray:稀疏数组
  • atomic包:原子级同步类型
  • CircularArray:环形数组,多用于缓存,减少内存申请释放的性能开销

你可能感兴趣的:(Android Support Library 实用介绍)