
android自定义View绘制
Linleslie
这个作者很懒,什么都没留下…
展开
-
绘制系列(十八)图形篇-Bitmap
图像与图形处理Canvas中就保存着一个Bitmap对象,调用canvas的各种绘图函数,最终还是绘制到其中的Bitmap上。我们自定义View是,一般都会重写onDraw(Canvas canvas),这个函数中是自带Canvas的,只需要将画的内容调用Canvas的函数画出来,就会直接显示在对应的View上。其实,View对应着一个Bitmap,而onDraw()中canvas就是通过这个B...原创 2019-12-27 18:25:28 · 2227 阅读 · 1 评论 -
绘制系列(十八)-自定义Drawable
自定义Drawablepublic class RoundRectDrawable extends Drawable { public RoundRectDrawable(Bitmap bitmap) { mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mBitmap=bitmap;}public Paint getPaint...原创 2019-12-26 18:03:33 · 447 阅读 · 0 评论 -
绘制系列(十七)-Drawable
DrawableShape标签与ShapeDrawable首先明确一点的是:shape标签对应的java类是GradientDrawable,而不是ShapeDrawable; ShapeDrawable drawable = (ShapeDrawable) ((TextView) findViewById(R.id.tv)).getBackground();将报:public G...原创 2019-12-26 18:02:52 · 342 阅读 · 0 评论 -
绘制系列(十六)-Canvas与图层二
Canvas涉及的flag讲解上一篇博客,我们说到canvas的六个flag,这里简单的演示六个flag的作用。这里有个问题,一下演示在Addriod6.0以下的手机上有效果,在6.0的手机上失效,不知道是什么原因。知道可以在下面评论给我说说…save(int flags)、saveLayer(int flags)都可以设置标志位,All_save_flag、matrix_save_flag...原创 2019-12-26 18:01:32 · 639 阅读 · 0 评论 -
绘制系列(十五)-Canvas与图层
绘制系列(十五)-Canvas与图层onDraw、dispatchDraw区别onDraw()的意思是绘制视图自身dispatchDraw()是绘制子视图无论是View还是ViewGroup对它们俩的调用顺序都是onDraw()->dispatchDraw()但在ViewGroup中,当它有背景的时候就会调用onDraw()方法,否则就会跳过onDraw()直接调用dispatc...原创 2019-12-26 18:00:56 · 827 阅读 · 0 评论 -
自定义View之动画篇(十四)图形篇-SVG矢量图
SVGSVG全称是Scalable Vector Graphics (可缩放矢量图),SVG是矢量图,与其对应的是Bitmap即位图;Google在Android 5.0中增加了SVG支持,而对于5.0以下,可以引入com.android.support:appcompat-v7:23.4.0及以上版本进行支持;Vector标签适用于android2.1以上的所有系统以显示SVG图像,而与SV...原创 2019-12-04 17:12:38 · 483 阅读 · 0 评论 -
自定义View之动画篇(十三)动画进阶-PathMeasure
动画进阶当我们实现更复杂的动画时,如nexus开机动画,前面的属性动画、容器动画就实现不了。PathMeasure实现路径动画其实就是一个Path路径点的坐标追踪,可计算出指定路径的一些信息如总路长、指定长度所对应的坐标点;要计算,肯定就需要和路径绑定:两种方式: PathMeasure pm=new PathMeasure(); pm.setPath(Path path,bo...原创 2019-12-03 17:02:32 · 198 阅读 · 0 评论 -
自定义View之动画篇(十二)-ViewPropertyAnimator
ViewPropertyAnimatorandroid 3.0虽然引入的属性动画,既能针对一些系统定义的属性如setAphla()、setScale()做动画,也能自定义属性;我们日常使用中存储需要为这些默认的属性设置动画,但通过属性动画使用显得很繁琐不人性化,于是android 3.1补充了ViewPropertyAnimator这个机制; ViewPropertyAnimator anim...原创 2019-11-29 17:36:08 · 352 阅读 · 0 评论 -
自定义View之动画篇(十一)-PropertyValueHolder与KeyFrame
PropertyValuesHolder与KeyFrameValueAniamtor、ObjectAnimator除了ofInt()、ofFloat()、ofObject()构建对象外,还用一个方法也能构建对象: /** * valueAnimator的 */ public static ValueAnimator ofPropert...原创 2019-11-28 15:22:37 · 485 阅读 · 0 评论 -
自定义View之动画篇(十)-属性动画之—AniamtorSet(组合动画)
属性动画之—组合动画(AnimatorSet)前面我们说过借助PropertyValuesHolder,也可以实现多个动画同时作用于同一控件,AnimatorSet为官方给出的组合实现。首先明确的一点是,组合动画对ValueAniamtor和ObjectAnimator都适用,但是一般ObjectAniamtor组合动画最常用。直接给为我们提供了两个方法playSequentially和pla...原创 2019-11-27 17:26:17 · 359 阅读 · 0 评论 -
自定义View之动画篇(九)-ObjectAnimator基本使用
ObjectAnimatorValueAnimator缺点:只能对数值进行动画运算。比如需要对控件进行操作需要,监听数值变化,在监听中对控件进行操作,比较麻烦。为了直接与控件相关联,ObjectAnimator应运而生。ObjectAnimator也重写了ofInt()、ofFloat()等以ofFloat(View target,String propertyName,float…val...原创 2019-11-27 17:00:17 · 726 阅读 · 0 评论 -
自定义View之动画篇(八)-ValueAnimator--插值器和Evaluator讲解
1、属性动画与视图动画区别引入时间:视图动画是API 1引入的二维,而属性动画是API 11引入的,即Android3.0才开始有Property Animation API;所在包名不同:View Animation在android.view.animation包中,而property animation在android.animation包中动画类的命名不同:View Animatio...原创 2019-11-27 16:59:28 · 475 阅读 · 0 评论 -
自定义View之动画篇(七)-帧动画
帧动画-AnimationDrawble1、定义XML帧动画XML文件可以在res/anim或者res/drawable中,前者使用R.anim.fileNamedi调用,后者使用R.drawable.fileName使用 <?xml version="1.0" encoding="utf-8"?> 设置动画资源 :(1)、通过android:src (2)...原创 2019-11-27 16:57:28 · 283 阅读 · 0 评论 -
自定义View之动画篇(四)-补间动画
#代码生成动画 #xml表对应的动画类scale —— ScaleAnimationalpha —— AlphaAnimationrotate —— RotateAnimationtranslate —— TranslateAnimationset —— AnimationSet公共类-Animationandroid:duration setD...原创 2019-11-27 16:56:14 · 226 阅读 · 0 评论 -
自定义View之基础篇(三)-Region区域
绘制系列(三)-Region(区域)区域,顾名思义就是一块任意形状的封闭形状;构造函数创建一个空白区域Region()复制一个相同区域Region(Region region)创建一个矩形区域Region(Rect r)Region(int left, int top, int right, int bottom)RegionInteratorcanvas并没有像...原创 2019-11-22 15:44:25 · 535 阅读 · 0 评论 -
绘制系列(五)-DrawText()详解
绘制系列(二)-DrawText()详解文字基础知识1、setTextAlign()设置文字对齐方式(起始点相对于文字)canvas.drawText(“文字”,起始点,paint)比如: paint.setTextAlign(Paint.Align.RIGHT)//表示起始点在文字的右侧开始绘制;###2、设置字体样式 ###设置粗体 setBoldText(boolean fa...原创 2019-11-22 15:43:47 · 5965 阅读 · 0 评论 -
自定义View之基础篇(一)-绘制基本图形
绘图系列(一)-Paintpaint:即笔,画图所需要的相关设置都是通过Paint实现,如:字体样式、透明度、字体大小、粗细等。基本函数paint.setAntiAlias(true);//抗锯齿功能paint.setColor(Color.RED); //设置画笔颜色paint.setStyle(Style.FILL);//设置填充样式paint.setStrokeWidth(30...原创 2019-11-22 15:42:43 · 361 阅读 · 0 评论