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

Android自5.0后增加了不少新控件,帮助开发者实现了更酷更炫的UI效果。可是对于初学者来说,这些新控件的用法不像老控件那么简单,网上相关的使用介绍也不如老控件那样丰富,种种情况无疑加大了我们学习这些新控件的难度。为此,博主初步整理了Android在5.0和6.0之后的新增控件,及其对应的说明博文,给大家提供一个可资学习和借鉴的索引。


下面是新增控件的索引表格:
兼容包名称控件引入版本
内核水波图形RippleDrawableAndroid 5.0
矢量图形VectorDrawableAndroid 5.0
矢量动画AnimatedVectorDrawableAndroid 5.0
矢量动画监听器AnimationCallbackAndroid 6.0
媒体投影管理器MediaProjectionManagerAndroid 5.0
摄像头二代camera2CameraManagerAndroid 5.0
CameraDeviceAndroid 5.0
CameraCaptureSessionAndroid 5.0
电话管理器增加双卡双待TelephonyManagerAndroid 5.0
PDF文件渲染器PdfRendererAndroid 5.0
任务调度器JobSchedulerAndroid 5.0
任务服务JobServiceAndroid 5.0
v4下拉刷新布局SwipeRefreshLayoutAndroid 5.0
抽屉布局DrawerLayoutAndroid 5.0
滑动面板布局SlidingPaneLayoutAndroid 5.0
嵌套滚动视图NestedScrollViewAndroid 5.0
appcompat-v7工具栏ToolbarAndroid 5.0
recyclerview-v7循环视图RecyclerViewAndroid 5.0
线性布局管理器LinearLayoutManagerAndroid 5.0
网格布局管理器GridLayoutManagerAndroid 5.0
瀑布流网格布局管理器StaggeredGridLayoutManagerAndroid 5.0
cardview-v7卡片视图CardViewAndroid 5.0
palette-v7调色板PaletteAndroid 5.0
design提示条SnackbarAndroid 5.0
导航视图NavigationViewAndroid 5.0
协调布局CoordinatorLayoutAndroid 5.0
悬浮按钮FloatingActionButtonAndroid 5.0
底部弹窗BottomSheetBehaviorAndroid 6.0
应用栏布局AppBarLayoutAndroid 5.0
可折叠工具栏布局CollapsingToolbarLayoutAndroid 5.0
侧滑删除SwipeDismissBehaviorAndroid 5.0
标签布局TabLayoutAndroid 5.0
文本输入布局TextInputLayoutAndroid 5.0
文本输入编辑框TextInputEditTextAndroid 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开发笔记的完整目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值