
自定义控件
逍遥-无忌
这个作者很懒,什么都没留下…
展开
-
时间选择器
自定义控件CycleWheelView继承ListView,实现循环选择的效果。可以自定义样式,显示的行数,选中和未选中的颜色。自定义控件代码:/** * 可循环滚动的选择器 */public class CycleWheelView extends ListView { public static final String TAG = CycleWheelView.class.get原创 2015-12-31 15:18:22 · 817 阅读 · 0 评论 -
自定义控件学习笔记(六)绘制顺序
Android 里面的绘制都是按顺序的,先绘制的内容会被后绘制的盖住。1 super.onDraw() 前 or 后?自定义绘制最基本的形态:继承 View 类,在 onDraw() 中完全自定义它的绘制。绘制代码写在 super.onDraw() 的上面还是下面都无所谓,甚至,你把 super.onDraw() 这行代码删掉都没关系,效果都是一样的——因为在 View 这个类里,onDraw()原创 2017-11-27 16:29:31 · 411 阅读 · 0 评论 -
自定义控件学习笔记(五)Canvas 对绘制的辅助——范围裁切和几何变换
1 范围裁切范围裁切有两个方法: clipRect() 和 clipPath()。裁切方法之后的绘制代码,都会被限制在裁切范围内。1.1 clipRect()canvas.save(); canvas.clipRect(left, top, right, bottom); canvas.drawBitmap(bitmap, x, y, paint); canvas.restore();原创 2017-11-23 16:40:58 · 626 阅读 · 0 评论 -
自定义控件学习笔记(三)Paint详解
Canvas 的 drawXXX() 方法配合 Paint 的几个常用方法可以实现最常见的绘制需求;而如果你只会基本的绘制, Paint 的完全功能的掌握,能让你更进一步,做出一些更加细致、炫酷的效果。Paint 的 API 大致可以分为 4 类: 颜色 效果 drawText() 相关 初始化1 颜色Canvas 绘制的内容,有三层对颜色的处理: 1.1 基本颜色 Paint 设置颜色原创 2017-11-16 17:59:14 · 1591 阅读 · 0 评论 -
自定义控件学习笔记(二)drawPath()
drawPath(Path path, Paint paint) 这个方法是通过描述路径的方式来绘制图形的,它的 path 参数就是用来描述图形路径的对象。path 的类型是 Path ,使用方法大概像下面这样:public class PathView extends View { Paint paint = new Paint(); Path path = new Path();原创 2017-11-15 17:58:57 · 10535 阅读 · 0 评论 -
自定义控件学习笔记(一)Canvas 的 drawXXX() 系列方法
Canvas 的 drawXXX() 系列方法及 Paint 最常见的使用Canvas.drawXXX() 是自定义绘制最基本的操作。掌握了这些方法,你才知道怎么绘制内容,例如怎么画圆、怎么画方、怎么画图像和文字。组合绘制这些内容,再配合上 Paint 的一些常见方法来对绘制内容的颜色和风格进行简单的配置,就能够应付大部分的绘制需求了。Canvas 类下的所有 draw- 打头的方法,例如 dra原创 2017-11-15 17:11:16 · 2454 阅读 · 1 评论 -
自定义控件学习笔记(四)文字的绘制
1 Canvas 绘制文字的方式Canvas 的文字绘制方法有三个:drawText() drawTextRun() 和 drawTextOnPath()。1.1 drawText(String text, float x, float y, Paint paint)text 是文字内容,x 和 y 是文字的坐标。但需要注意:这个坐标并不是文字的左上角,而是一个与左下角比较接近的位置。大概在这里:原创 2017-11-20 17:42:50 · 1687 阅读 · 0 评论 -
自定义控件学习笔记(三)Paint详解下
2.7 setMaskFilter(MaskFilter maskfilter)为之后的绘制设置 MaskFilter。上一个方法 setShadowLayer() 是设置的在绘制层下方的附加效果;而这个 MaskFilter 和它相反,设置的是在绘制层上方的附加效果。 到现在已经有两个 setXxxFilter(filter) 了。前面有一个 setColorFilter(filter) ,是对原创 2017-11-17 16:21:52 · 579 阅读 · 0 评论 -
自定义控件点滴2(setColorFilter)
画笔设置属性疑难1:setColorFilter(ColorFilter filter) 设置颜色过滤,就像拿个筛子把颜色“滤”一遍获取我们想要的色彩结果 ColorFilter没有做具体的实现,但是其有三个子类,设置时传入其三个子类中的一个即可。ColorFilter的三个子类为:ColorMatrixColorFilter、LightingColorFilter和PorterDuffColo原创 2016-01-14 16:37:45 · 367 阅读 · 0 评论 -
自定义控件点滴1(自定义控件的简单实现)
在Android中自定义一个View类必定是直接继承View类或者View类的子类比如TextView、Button等等;然后实现需要实现的功能。 自定义一个类继承View,在View类中没有提供无参的构造方法,所以我们要声明一个和带有父类一样签名列表的构造方法:public class CustomView extends View { public CustomView(Conte原创 2016-01-14 15:13:15 · 313 阅读 · 0 评论 -
按钮点击水波纹效果
水波纹的出现给我们的错觉是直接将波纹绘制在button上面的,但是这样能做到吗?首先button自己有background和src,如果把半透明的水波纹当作background或者src绘制到button上面,肯定是会损失button原有的样式的。可能有朋友猜想那就把水波纹绘制在屏幕上呗,恭喜这位朋友答对了,至少我是这么干的,具体思路就是,我们自己实现一个layout,在layout中捕捉事件,并对原创 2016-01-07 10:50:40 · 2181 阅读 · 0 评论 -
仿苹果的滑动开关
1.自定义控件SlipButtonpublic class SlipButton extends View implements OnTouchListener{ private boolean NowChoose = false;// 记录当前按钮是否打开,true为打开,flase为关闭 private boolean isChecked; private boolean原创 2015-12-31 16:12:50 · 484 阅读 · 0 评论 -
自定义控件点滴3(字体相关)
笔对于我们来说第一印象一定是能写字对吧,而Android给我们的这支Paint当然也不例外,它也定义了大量关于“写字”的功能,这些方法总数接近Paint的一半!可见Android对Paint写字功能的重视,在讲Paint提供的“写字”方法前我先给大家说一个Android中和字体相关的很重要的类FontMetrics。 FontMetrics意为字体测量,FontMetrics其实是Paint的一个原创 2016-01-15 17:46:42 · 457 阅读 · 0 评论 -
自定义控件学习笔记(六)绘制顺序
Android 里面的绘制都是按顺序的,先绘制的内容会被后绘制的盖住。1 super.onDraw() 前 or 后?自定义绘制最基本的形态:继承 View 类,在 onDraw() 中完全自定义它的绘制。绘制代码写在 super.onDraw() 的上面还是下面都无所谓,甚至,你把 super.onDraw() 这行代码删掉都没关系,效果都是一样的——因为在 View 这个类里,onDraw()原创 2017-11-27 16:34:57 · 281 阅读 · 0 评论