Android5.0和6.0之后新增的控件说明
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开发笔记的完整目录
Android5.0和6.0之后新增的控件说明相关推荐
- android 5.0新增 ui 控件,android3.0新增ui控件示例说明.doc
android3.0新增ui控件示例说明 Android3.0新增UI控件 AdapterViewAnimator控件 AdapterViewAnimator(堆View),已知子类有AdapterV ...
- VB6.0中,DTPicker日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)
VB6.0中,DTPicker日期.时间控件不允许为空时,采用文本框与日期.时间控件相互替换赋值(解决方案) 参考文章: (1)VB6.0中,DTPicker日期.时间控件不允许为空时,采用文本框与日 ...
- android github 评分控件_「开源」Arcgis for Android测量工具更新至V1.9,新增绘制控件...
开源地址:https://github.com/roomanl/ArcgisTool 封装Arcgis Runtime for Android 100.6.0地图基本操作. 包括:测量工具控件及测量接 ...
- Asp.net 2.0 动态加载其他子目录用户控件问题
通常我们要在程序中动态加载用户控件: 方法很简单直接在程序里键入: (usercontrol type)a = (usercontrol type)Page.LoadControl("~/x ...
- VB6.0中,DTPicker日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)...
VB6.0中,日期.时间控件不允许为空时,采用文本框与日期.时间控件相互替换赋值,或许是一个不错的选择. 实现效果如下图: 文本框txtStopTime1 时间框DTStopTime1(DTPicke ...
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)...
(一). 概要 开发<数据绑定用户控件>, 要实现一个DataSource属性, 并且能够自动识别不同的数据源, 如: ArrayList, DataTable, DataSet, XM ...
- flashwindow vb_VB6.0 加载ShockwaveFlash(flash)控件
Private Sub Form_Load() "初始化flash Dim tmpCtl As Object Set tmpCtl = Me.Controls.Add("Shock ...
- 为何asp.net2.0中 rendercontrol 对于有些服务器端的控件会不支持
比如报出 rendercontrol 必须放在具有 runat=server这样的错误 原因: http://topic.csdn.net/t/20051207/21/4444706.html 解决方 ...
- Android5.0新控件
谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种. 1. CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLay ...
最新文章
- 简明Python3教程 4.安装
- 从零点五开始用Unity做半个2D战棋小游戏(十)
- Linux usb bus日志如何打开,从linux usb bus节点来认识usb linux usb认识
- 从源码角度剖析VC6下的内存分配与切割的运作
- SciPy 积分的计算
- 内部存储_Mongodb存储特性与内部原理
- 迷宫问题 (dfs)
- centos7 安装VNC Server
- 百面机器学习——svm使用信息熵寻找最优划分
- 安卓应用性能调试和优化经验分享
- Filter动态代理敏感词汇过滤
- 精品、好用、优质、黑科技网站推荐
- sap hana安装教程
- Postman 接口压力测试
- 隧道人员定位管理系统
- QQ连连看单机版辅助制作全流程
- 中考计算机易错知识点,中考语文常见的易错考点23个
- 影视广告创意与制作(二)
- 轻松理解LTE网规网优FAQ基本概念
- 港美股系统开发软件开发之证券交易软件供应商对比
热门文章
- vscode取消底部横滚动条(自动换行)
- Python爬虫基本原理
- 甘特图看起来很生硬?教你使用智能颜色装饰你的甘特图!(一)
- OpenSatck Ironic实现裸机管理
- osg+ActiveQT嵌入ie64位
- 基于ConvLSTM的伦敦空气质量预测(2) 算法实施
- python字符宽度_Python计算字符宽度的方法
- Linux 查看磁盘的属性,Windows XP 查看磁盘属性(转)
- Java 性能优化系列之3.1[JVM调优]
- 服务器系统的安装方法,服务器的操作系统安装方法