Android5.0和6.0之后新增的控件说明

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aqi00/article/details/59108336
Android自5.0后增加了不少新控件,帮助开发者实现了更酷更炫的UI效果。可是对于初学者来说,这些新控件的用法不像老控件那么简单,网上相关的使用介绍也不如老控件那样丰富,种种情况无疑加大了我们学习这些新控件的难度。为此,博主初步整理了Android在5.0和6.0之后的新增控件,及其对应的说明博文,给大家提供一个可资学习和借鉴的索引。


下面是新增控件的索引表格:
兼容包 名称 控件 引入版本
内核 水波图形 RippleDrawable Android 5.0
矢量图形 VectorDrawable Android 5.0
矢量动画 AnimatedVectorDrawable Android 5.0
矢量动画监听器 AnimationCallback Android 6.0
媒体投影管理器 MediaProjectionManager Android 5.0
摄像头二代camera2 CameraManager Android 5.0
CameraDevice Android 5.0
CameraCaptureSession Android 5.0
电话管理器增加双卡双待 TelephonyManager Android 5.0
PDF文件渲染器 PdfRenderer Android 5.0
任务调度器 JobScheduler Android 5.0
任务服务 JobService Android 5.0
v4 下拉刷新布局 SwipeRefreshLayout Android 5.0
抽屉布局 DrawerLayout Android 5.0
滑动面板布局 SlidingPaneLayout Android 5.0
嵌套滚动视图 NestedScrollView Android 5.0
appcompat-v7 工具栏 Toolbar Android 5.0
recyclerview-v7 循环视图 RecyclerView Android 5.0
线性布局管理器 LinearLayoutManager Android 5.0
网格布局管理器 GridLayoutManager Android 5.0
瀑布流网格布局管理器 StaggeredGridLayoutManager Android 5.0
cardview-v7 卡片视图 CardView Android 5.0
palette-v7 调色板 Palette Android 5.0
design 提示条 Snackbar Android 5.0
导航视图 NavigationView Android 5.0
协调布局 CoordinatorLayout Android 5.0
悬浮按钮 FloatingActionButton Android 5.0
底部弹窗 BottomSheetBehavior Android 6.0
应用栏布局 AppBarLayout Android 5.0
可折叠工具栏布局 CollapsingToolbarLayout Android 5.0
侧滑删除 SwipeDismissBehavior Android 5.0
标签布局 TabLayout Android 5.0
文本输入布局 TextInputLayout Android 5.0
文本输入编辑框 TextInputEditText Android 6.0


以上的新控件,在项目中使用的时候,可分为三大类:

1、第一类是内核提供的控件,位于SDK的android.jar中。
这个与系统版本有关,每个版本的android.jar是固定的,有在该内核中定义的控件才能正常调用,没在内核中定义的控件在运行时会扔出类找不到的异常。比如水波图形RippleDrawable和矢量图形VectorDrawable,这两个控件在Android5.0之后的系统内核中提供,所以只有系统版本不低于5.0的手机才能使用它们,运行4.*系统的手机是无法正常调用这两个控件的。

2、第二类是v4兼容库提供的控件,位于SDK的android-support-v4.jar中。
v4库默认会被编译进App的安装包,所以它不需要系统内核支持,可直接运行在4.0之后的所有系统上,并且App工程无需手工导入v4库。使用v4控件唯一需要注意的地方,是布局文件中要引用完整路径的控件名称,如抽屉布局android.support.v4.widget.DrawerLayout、下拉刷新布局android.support.v4.widget.SwipeRefreshLayout等等。

3、第三类是v7兼容库和design库,它们有各自的库工程,开发者要在App工程中手工导入用到的兼容库。
v7与design库导入App工程后,编译出来的App即可兼容4.*的系统。使用v7与design库的控件,类似于使用自定义控件,不但要在布局文件中引用完整路径的控件名称,还要在根布局声明命名空间(即添加属性xmlns:app="http://schemas.android.com/apk/res-auto"),然后方可使用这些控件的自定义属性。这部分控件数量最多,实现的界面特效最丰富,而且互相之间存在依赖关系,如design库依赖于appcompat-v7库,部分design控件如NavigationView还依赖于recyclerview-v7库,所以若要正确使用design库的控件,往往得同时导入好几个相关的兼容库。


Android5.0和6.0之后补充了这么多新控件,自然有部分老控件变过时了,下面就列举部分新旧控件的替代关系:
Toolbar:替代ActionBar
RecyclerView:替代ListView和GridView
NestedScrollView:替代ScrollView
Snackbar:替代Toast
FloatingActionButton:替代ImageButton
TextInputEditText:替代EditText
camera2家族:替代Camera





点此查看Android开发笔记的完整目录
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页