Android 自定义View和ViewGroup系列
本专栏主要用于介绍如何自定义View和ViewGroup,以基础为主。同时还会附带讲解Path,Bitmap,Matrix ,PorterDuff.Mode图形混合处理 等绘图的处理。并通过练习来加深印象,巩固理解。
小_爽
一切都是最好的安排
展开
-
Android自定义View——动态ProgressBar之模仿360加速球
在之前一篇文章中我们讲解了三种Progress的做法,详见—>《Android 自定义View——自定义ProgressBar 》。这一节中我们模仿360加速球制作一个动态ProgressBar。 当然制作之前,我们先来看看360加速球是什么样子的: 通过上面的动图,我们了解到360加速球是什么样子的,现在我们开始来制作自己的ProgressBar。这里用到了之前两篇博客的知原创 2015-09-18 21:55:38 · 5854 阅读 · 6 评论 -
Android 自定义View——自定义ProgressBar
Android中给我们提供了多个样式的ProgressBar,SeekingBar,RatingBaar等进度条,但是我们这些样式都满足不了我们的要求,这时我们就可以使用自定义View来定义我们自己想要的形式的进度条。 这里讲解三种样式的进度条,由于博主还米有学习过动画,所以这里不添加动画效果。想要学习自定义控件的可以先参考这篇文章>《Android 自定义View——自定义View控件 》。原创 2015-09-16 22:21:01 · 2420 阅读 · 0 评论 -
Android 使用Cache机制
有时候在一个应用程序中我们突然发现这个应用程序的View特别好看,我们想把它保存为图片保存在手机上,这时候我们该如何做呢? 在View中可以使用Cache机制将View上的内容保存为Bitmap。 如何获得Cache我们先看如下几个方法: void setDrawingCacheEnabled(boolean flag):设置该View可生成Cache.Bitmap get原创 2015-09-18 22:51:40 · 3299 阅读 · 0 评论 -
Android 自定义View——蒙版擦除效果实现
在《Android PorterDuff.Mode图形混合处理 》这篇博客中,我们讲解了PorterDuff.Mode对图形混合的处理。这篇我们将通过图形混合的原理,来制作一个手动擦除蒙版显示底层图片的控件。 可能我这样描述这节的内容,大家还是不太理解到底要做什么。那我举几个例子,在QQ应用中,QQ聊天有一个功能就是发送手动绘制的图片,其实手动绘制图片这个功能就是通过一个自定义View原创 2015-09-18 21:27:18 · 8144 阅读 · 1 评论 -
Android 自定义View——自定义点击事件
在前几篇博客中我们列举了如何自定义控件,接下来我们来学习下如何自定义点击事件。 每个人手机上都有通讯录,这是毫无疑问的,我们通讯录上有一个控件,在通讯录的最左边有一列从”#”到”Z”的字母,我们通过滑动或点击指定的字母来确定联系人的位置,进而找到联系人。我们这一节就通过开发这个控件,来学如何自定义控件的点击事件。通讯录列表查找控件界面绘制 首先我们需要先将控件的基本布局绘制出来,这里我们不在原创 2015-09-17 22:54:00 · 19421 阅读 · 5 评论 -
Android PorterDuff.Mode图形混合处理
PorterDuff.Mode,刚接触到这个名字的时候,看不懂什么意思。通过翻译也没有查出结果,后来通过一篇博客了解到原来PorterDuff是两个人的名字的组合:Tomas Proter和 Tom Duff.,他们是最早在SIGGRAPH上提出图形混合概念的大神级人物。通过这一点,其实我们就可以了解到,原来PorterDuff原来是处理图形的混合的,是一种渲染效果。 在看PorterDuff如何原创 2015-09-17 22:15:13 · 8436 阅读 · 4 评论 -
Android Matrix
博主太懒,找到一篇讲的很详细的Matrix的文章,所以就转载了。本文前半部分理论知识是转自:Qiengo的《Android Matrix》,后半部分是博主自己写的代码实例, 俗话说的好,自己动手丰衣足食嘛!Matrix的数学原理 在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下:转载 2015-09-17 20:34:33 · 1245 阅读 · 0 评论 -
Android Bitmap
开发应用过程中图片的使用是必不可少的,在Android中除了使用Drawable资源中的图片,我们还可以使用Bitmap,Picture类等创建图片。 Bitmap Bitmap代表一张位图。Bitmap能能够直接创建,要通过Bitmap.Factory来创建Bitmap的对象。 Bitmap.Factory中为我们提供了多个方法来获得Bitmap的对象:decodeByte原创 2015-09-17 21:18:40 · 1428 阅读 · 0 评论 -
Android 自定义View——Path的使用
Path, 轨迹,路径。Path可以沿着多个点绘制一条路径, 在Canvas中可以根据Path绘制不同的图形。Path我们在使用Path绘制路径,一般要使用到以下几个方法:moveTo(float x, float y): 移动到(x, y)坐标点。绘制路径时,路径的第一个点一般我们通过moveTo()来决定,否则默认为(0, 0)点。 lineTo(float x, float y):原创 2015-09-17 18:59:46 · 2878 阅读 · 1 评论 -
Android 自定义View——自定义View控件
Android给我们提供了大量的View控件,但这还是远远满足不了我们的要求,有时候开发所需要的控件形式是在Android提供的控件中是不存在,这就需要我们自己去定义一个。那么如何自定义控件? 学习自定义控件,首先要先掌握Canvas类的使用。 Canvas Canvas, 我们称之为“画布“,主要适用于绘制View的。 Canvas中提供了大量绘制图形的方法:绘制扇形:drawA原创 2015-09-16 20:15:02 · 4320 阅读 · 1 评论