Android UI绘制 - 动画进阶

Canvas、Layer

在这里插入图片描述

PS:addArc(Rect,startAngle,sweepAngle)中
startAngle:确定角度的起始位置
sweepAngle : 确定扫过的角度,扫过的角度360为顺时针一圈,-360为逆时针一圈,但如果扫过的角度超过360则起点会变成0度而非startAngle百分比圆的时候特别注意,这时候一般设置为359
PS:saveLayer可以为canvas创建一个新的透明图层,在新的图层上绘制,并不会直接绘制到屏幕上,而会在restore之后,绘制到上一个图层或者屏幕上(如果没有上一个图层)
PS:需要新建图层的场景(起隔离效果):
1.使用xfermode处理时,可以新建图层(隔离开不处理元素)进行xfermode处理。(直接进行处理可能会因为背景或者个别图像等原因干扰得不到预期效果)
2.个别图像具有透明度

Paint

绘制文字

方法 作用
setColor(@ColorInt int color) 设置画笔颜色
setStrokeWidth(float width) 设置画笔粗细
setTextSkewX(float f) 设置倾斜,负右斜,正为左
setARGB(int a,int r,int g,int b) 设置颜色,a为透明度
setTextSize(float textSize) 设置绘制文字大小
setFakeBoldText(boolean fakeBoldText) 是否粗体
setTextAlign(Paint.Align align) 设置文字对齐方式,LEFT,CENTER,RIGHT
setUnderlineText(boolean underlineText) 设置下划线
setStyle(Style style) 设置画笔样式,FILL,STROKE,FILL_AND_STROKE
setTypeface(Typeface typeface) 设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等

绘制图像

方法 作用
setDither(boolean dither) 设置抖动处理
setAlpha(int a) 设置透明度
setAntiAlias(boolean aa) 是否开启抗锯齿
setFilterBitmap() 是否开启优化Bitmap
setColorFilter(ColorFilter filter) 设置颜色过滤
setMaskFilter(MaskFilter maskfilter) 设置滤镜的效果
setShader(Shader shader) 设置图像渐变效果
setSrokeJoin(Paint.Join join) 设置图像结合方式
setXfermode(Xfermode xfermode) 设置图像重叠效果
setPathEffect(PathEffect effect) 设置路径效果
reset() 恢复默认设置

Path

在这里插入图片描述

OP

在这里插入图片描述

setFillType 设置填充模式

在这里插入图片描述
INVERSE_EVEN_ODD(反奇偶规则

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值