[转]Android自定义控件三部曲系列完全解析(动画, 绘图, 自定义View)
来源:http://blog.csdn.net/harvic880925/article/details/50995268
一、自定义控件三部曲之动画篇
1、《自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法》
2、《自定义控件三部曲之动画篇(二)——Interpolator插值器》
3、《自定义控件三部曲之动画篇(三)—— 代码生成alpha、scale、translate、rotate、set及插值器动画》
4、《自定义控件三部曲之动画篇(四)——ValueAnimator基本使用》
- 初识ValueAnimator:ofInt,ofFloat以及监听器用法
5、《自定义控件三部曲之动画篇(五)——ValueAnimator高级进阶(一)》
- 这一节非常重要,讲解了插值器Interpolator与估值器Evaluator的使用与如何自定义知识
- 这节中有如何做到背景色渐变的特效
6、《自定义控件三部曲之动画篇(六)——ValueAnimator高级进阶(二)》
- 这节着重讲解了ValueAnimator的ofObject函数用法
- 可以看到自定义弹性圆的伸缩特效
- 如何给A-Z字母变化添加上插值器效果
7、《自定义控件三部曲之动画篇(七)——ObjectAnimator基本使用》
- 这节讲了ObjectAnimator的用法及如何利用ObjectAnimator来实现前几节的效果
8、《自定义控件三部曲之动画篇(八)——PropertyValuesHolder与Keyframe》
- 这节主要讲了如何自定义关键帧的知识
- 使用关键帧实现电话振铃效果
9、《自定义控件三部曲之动画篇(九)——联合动画的代码实现》
- 这节讲解了如何实现组合动画的知识包括顺序播放、同时播放和自由定义顺序播放以及动画监听器相关的知识
10、《自定义控件三部曲之动画篇(十)——联合动画的XML实现与使用示例》
- 利用XML来实现组合动画的知识
- 实现了路径菜单动画
11、《 自定义控件三部曲之动画篇(十一)——layoutAnimation与gridLayoutAnimation》
- 讲解了容器类中控件的进入动画的实现方式
12、《自定义控件三部曲之动画篇(十二)——animateLayoutChanges与LayoutTransition》
- 自定义容器类中控件进入、退出等相关动画的实现方式
13、《自定义控件三部曲之动画篇(十三)——实现ListView Item进入动画》
- 讲解了一个实例:如何实现listview中各个item进场时的动画
在动画篇中,从一到十篇是必须要掌握的,11-13篇不是必须掌握的,有个印象就行
二、自定义控件三部曲之绘图篇
1、《自定义控件三部曲之绘图篇(一):概述及基本几何图形绘制》
2、《自定义控件三部曲之绘图篇(二):路径及文字》
3、《自定义控件三部曲之绘图篇(三):区域(Range)》
4、《自定义控件三部曲之绘图篇(四):canvas变换与操作》
5、《自定义控件三部曲之绘图篇( 五):drawText()详解》
6、《 自定义控件三部曲之绘图篇(六)——Path之贝赛尔曲线和手势轨迹、水波纹效果》
- 本篇将讲述手势轨迹捕捉、波浪纹效果实现的几种方法
7、《 自定义控件三部曲之绘图篇(七)——Paint之函数大汇总》
- 本篇将讲述路径的各种效果,比如铁锈路径、自定义图形路径、虚线路径等
8、《自定义控件三部曲之绘图篇(八)——Paint之ColorMatrix与滤镜效果》
- 本篇将讲述各种滤镜效果的实现方法:包括黑白滤镜、反古滤镜、色彩增强滤镜、色彩替换等
9、《自定义控件三部曲之绘图篇(九)——Paint之setColorFilter》
- 按钮点击时,动态加深图片色彩(简易方法)
- 可以学到针对不同主题动态设置不同色彩图片的方法(setTint())
10、《自定义控件三部曲之绘图篇(十)——Paint之setXfermode(一)》
- 硬件加速的原理与禁用方法
- 选区颜色替换、溶合图片、反向选区颜色替换
11、《自定义控件三部曲之绘图篇(十一)——Paint之setXfermode(二)》
- 书架中书本选中灯光效果
- Twiter标识中空效果实现
- 图片圆角实现
- 图片倒影实现
- 橡皮擦效果实现
- 刮刮卡效果实现
12、《自定义控件三部曲之绘图篇(十二)——Paint之setXfermode(三)》
- 区域波纹动画效果
- 心电图动画
- 不规则波纹
- 刷刷卡、图片倒影等另种实现方式
13、《自定义控件三部曲之绘图篇(十三)——Canvas与图层(一)》
- 这篇文章中没有任何特效,但这是绘图篇中非常重要的一篇,对于理解Canvas绘图起着重要作用
14、《自定义控件三部曲之绘图篇(十四)——Canvas与图层(二)》
- 上一篇的续篇,讲解了save、saveLayer、saveLayerAlpha中所使用的FLAG的具体意义
15、《自定义控件三部曲之绘图篇(十五)——QQ红点拖动删除效果实现(基本原理篇)》
- 对以往知识点进行总结复习,涉及有Canvas绘图、SaveLayer图层、贝赛尔曲线、手势监听和逐帧动画等
- 初步实现了QQ红点拖动效果
16、《自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果》
- 传统地给按钮添加阴影的方法
- 如何给已有控件添加阴影
- 如何给控件添加发光效果
17、《自定义控件三部曲之绘图篇(十七)——为Bitmap添加阴影并封装控件》
- 如何给图片添加阴影
- 如何自定义控件属性
- 控件如何自测量
- 如何最终封装成控件
18、《自定义控件三部曲之绘图篇(十八)——BitmapShader与望远镜效果》
- 实现望远镜效果
- 封装不规则头像控件
19、《自定义控件三部曲之绘图篇(十九)——LinearGradient与闪动文字效果》
- 讲解了LinearGradient的意义
- 实现了闪动文字效果控件
20、《自定义控件三部曲之绘图篇(二十)——RadialGradient与水波纹按钮效果》
- 讲解了RradialGradient知识
- 实现了按钮水波纹效果
这个系列还在继续,记得持续关注哦
如果你喜欢我的文章,那么你将会更喜欢我的微信公众号,将定期推送博主最新文章与收集干货分享给大家(一周一次)
附加:
Android ViewDragHelper完全解析, 自定义ViewGroup神器
ViewDragHelper实战, 自己打造的Drawerlayout
[转]Android自定义控件三部曲系列完全解析(动画, 绘图, 自定义View)的更多相关文章
- Android零基础入门第24节:自定义View简单使用
原文:Android零基础入门第24节:自定义View简单使用 当我们开发中遇到Android原生的组件无法满足需求时,这时候就应该自定义View来满足这些特殊的组件需求. 一.概述 很多初入Andr ...
- Android开发之漫漫长途 番外篇——自定义View的各种姿势1
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android UI 绘制过程浅析(五)自定义View
前言 这已经是Android UI 绘制过程浅析系列文章的第五篇了,不出意外的话也是最后一篇.再次声明一下,这一系列文章,是我在拜读了csdn大牛郭霖的博客文章<带你一步步深入了解View> ...
- Android开发之漫漫长途 番外篇——自定义View的各种姿势2
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android简易实战教程--第二十七话《自定义View入门案例之开关按钮详细分析》
转载此博客请注明出处点击打开链接 http://blog.csdn.net/qq_32059827/article/details/52444145 对于自定义view,可能是一个比较大的 ...
- Android自定义控件3--优酷菜单执行动画
在上篇文章中实现了优酷菜单的布局,本文接着实现动画功能 本文地址:http://www.cnblogs.com/wuyudong/p/5914901.html,转载请注明源地址. 新建动画工具类Ani ...
- 解读ASP.NET 5 & MVC6系列(16):自定义View视图文件查找逻辑
之前MVC5和之前的版本中,我们要想对View文件的路径进行控制的话,则必须要对IViewEngine接口的FindPartialView或FindView方法进行重写,所有的视图引擎都继承于该IVi ...
- Android 麦克风录音带音量大小动态显示的圆形自定义View
1.所谓无图无真相,先上效果图.我们要实现的就是中间那个录音的按钮,周边会显示一圈音量大小的波形 2.VolumCircleBar继承自View,我们进行了自定义,代码如下 package com.r ...
- 自定义View其实很简单系列1-12
作者: AigeStudio http://blog.csdn.net/aigestudio 说明:文中的1/12表示12篇中的第1篇, 1/6=2/12表示12篇中的第2篇,其它类似. 自定义控件 ...
随机推荐
- Xcode7.1环境下上架iOS App到AppStore 流程② (Part 二)
前言部分 part二部分主要讲解 iOS App IDs 的创建.概要文件的配置.以及概要文件安装的过程. 一.iOS App IDs 的创建 1)进入如图1所示界面点击右上角箭头所指的加号 进入iO ...
- GJM: 设计模式 - 模板方法模式(Template Method)
生活中的模板 一.在银行办理业务 Step1:进门取号 Step2:填写单据 Step3:等待叫号 Step4:窗口办理 二.奥运会开幕式 第一步:升国旗奏国歌 第二步:领导人致辞讲话 第三部: 文艺 ...
- 《分布式事务解决之道》沙龙ppt共享
大型分布式系统往往由很多“微服务”组成,而不同的微服务往往又连接着不同的数据库,在看似常用的功能背后,可能又需要横跨不同的“微服务”和“数据库”才能实现.那么如何才能保证系统事务的一致性呢?这也同时是 ...
- SpringMVC的执行流程(二)
文字解析: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配 DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交 ...
- [deviceone开发]-动态添加组件add方法的示例
一.简介 这个示例详细介绍ALayout的add方法的使用(原理也适用于Linearlayout),以及add上去的新ui和已有的ui如何数据交换,初学者推荐.二.效果图 三.相关下载 https:/ ...
- JS正则表达式(JavaScript regular expression)
RegExp直接量和对象的创建 就像字符串和数字一样,程序中每个取值相同的原始类型直接量均表示相同的值,这是显而易见的.程序运行时每次遇到对象直接量(初始化表达式)诸如{}和[]的时候都会创建新对象. ...
- eCharts 数据转换json
public ActionResult ShowChart() { return View(); } <div id="main" style="width:600 ...
- <![CDATA[的web使用简单说明
html.javascript会涉及到三个解析器,html解析器.xml解析器.javascript解析器.那么好了,问题来了,以上代码经常混编在一起,各自有各自的规则,终究会有冲突的,如下就是冲突. ...
- xcode8 storyboard 控件显示错位
升级xcode8 后选择device 为6s 出现上面的情况,控件显示异常.使用Update Frame 显示正常.不能选择Update Constraints 如果误选 commend + Z ...
- 5、项目间的沟通协调 - PMO项目管理办公室
沟通是人类所具备的优良而有一定技巧的一种方式.但是,沟通也是PMO项目管理办公室中所有项目组必须建立起来的能力,也是PMO项目管理办公室日常所需要进行的一项工作内容. 一.项目间的沟通: PMO项目管 ...