自定义View
pengboboer
啊
展开
-
自定义View-Paint
前言对于Paint,我们一般都知道一些简单的方法,比如setColor(),setStyle()等,其实它还有很多强大的功能,我们来总结一下吧Paint的API大致分为4类:颜色 效果 drawText()相关 初始化颜色// 1、基本颜色canvas.drawColor/ARGB() ---颜色参数canvas.drawBitmap() ---bitmap参数...原创 2019-08-02 18:00:33 · 200 阅读 · 0 评论 -
自定义View-绘制基础
前言在Android中很重要的就是UI,我们来简单总结一下自定义View中的绘制问题 重写绘制方法:最常用的就是onDraw() 绘制的关键是Canvas(画布) 可以使用不同绘制方法来控制遮盖关系 // 先上一段简单的代码: @Override protected void onDraw(Canvas canvas) { ...原创 2019-07-29 17:40:25 · 168 阅读 · 0 评论 -
自定义View-Canvas对绘制的辅助clipXXX()和Matrix
前言裁剪和几何变换,说实话平时用到的也不多,但确实也是很有意思的内容,一起来看一下吧范围裁切// 裁剪一个矩形canvas.save();canvas.clipRect(left, top, right, bottom);canvas.drawBitmap(bitmap, x, y, paint);canvas.restore();// 裁剪一个Path, 能裁剪的形...原创 2019-08-13 15:27:03 · 352 阅读 · 0 评论 -
自定义View-绘制顺序
前言Android里面的绘制都是按顺序的,先绘制的会被后绘制的盖住。我们要学会实现自己所需要的遮盖关系super.onDraw()// 直接继承View的话,是无所谓的,因为onDraw()方法是空实现// 继承某一个已知的控件,就有分别了 // super.onDraw()下面:绘制内容覆盖原有内容,比如打印图像尺寸信息 // super.onDraw()上...原创 2019-08-13 16:48:17 · 272 阅读 · 0 评论 -
自定义View-文字绘制
前言文字绘制其实内容太细,而且可能不常用,确实我工作这么久,没用到过几次,这里就快速总结一下API,做下笔记吧。绘制文字的方式:// 最基本的方法drawText(), 注意很重要的一点,x,y的坐标是指文字左下角的坐标canvas.drawText(text, x, y, paint);// 对中国人没用,某些国家的文字形状会相互影响,单写是一个样儿, 和别的字连在一起又...原创 2019-08-07 09:50:58 · 527 阅读 · 0 评论 -
自定义View-全新定制自定义View的尺寸
前言完全自定义View的尺寸以及布局是与之前的不一样的,我们来总结一下全新定制自定义View的尺寸// 跟修改已有View的尺寸不一样的是: // 不需要调用super.onMeasure(), 完全自己计算 // onMeasure()中的两个参数是父View传递过来的限制 // 限制的分类: // 1 UPSPECIFIED 不限制 ...原创 2019-08-19 15:25:39 · 460 阅读 · 0 评论 -
自定义View-属性动画Property Animation上手篇
前言动画分为好几类,逐帧动画和补间动画就不说了,重点看一下属性动画吧ViewPropertyAnimator// 使用方法view.animate().tranlationX(500);// View中的比如setTranslationX()这些方法并没有动画// 而view.animate()会返回一个ViewPropertyAnimator对象, 可以执行一些基本的动...原创 2019-08-14 15:22:41 · 249 阅读 · 0 评论 -
自定义View-属性动画Property Animation进阶篇
前言总结一下稍稍复杂的属性动画吧TypeEvaluator当我们需要用其他类型来做属性动画的时候,就需要用到TypeEvaluatorArgbEvaluator// 使用方法ObjectAnimator animator = ObjectAnimator.ofInt(view, "color", 0xffff0000, 0xff00ff00); animator...原创 2019-08-15 09:52:58 · 224 阅读 · 0 评论 -
自定义View-布局基础
前言自定义View的内容不光有绘制,还有布局,而且绘制是去调用已知的API,而布局就得需要我们去理解它内部的工作原理才能正确的去使用它,我们来总结一下吧基本原理// 测量阶段 // 从顶层的根View开始去测量和布局 // 子View的measure()方法会被父View调用, 然后最调用onMearsure(), 让View进行自我测量 ...原创 2019-08-16 16:05:22 · 246 阅读 · 0 评论