Android:动画及自定义控件 13

24 篇文章 0 订阅
24 篇文章 0 订阅
  • 自定义控件

自定义控件需要注意的主要知识点:

  1. 重写构造函数,初始化自有属性

共有的操作是将父类的构造方法继承下来(super)

  1. 只有一个参数的构造函数(给java代码new对象的时候使用的)
  2. 有两个参数的构造函数(给布局文件调用和设置view的时候使用,第二个参数就是属性集)
  3. 有三个参数的构造函数(不常用,第三个参数是style类型的参数,这个构造函数是通过两个参数的构造函数调用的)xml文件只会调用两个参数的构造函数

 

  1. 重写测量函数onMeasure

view的原理分析

view的本质是屏幕上的某一块矩形区域,并且所有的view都是矩形的

 

activity viewgroup service之间能不能加载view的区别

activity含有window所以可以加载

viewgroup是因为实现了viewparent和viewmanager这两个接口所以可以添加和加载子view

service之所以叫做没有界面的activity,就是因为本身不包含window

 

一个view有且只能有一个父view(只有一个父view来确定位置)

 

  1. 重写绘制函数onLayout,onDraw,dispatchDraw,视情况选择一个或者多个重写

onlayout定位子视图在本视图中的位置

onDraw绘制视图

 

canvas(画布)有三类方法

  1. 划定可绘制的区域

clipPath裁剪一个区域(可以为不规则曲线区域)

clipRect裁剪一个矩形区域

clipRegion裁剪一个组合区域

  1. 在区域内部绘制图形

drawArc绘制一个扇形或者弧形,第四个参数为true画扇形,false画弧形

drawBitmap绘制图像

drawCircle绘制圆形

drawLine绘制线

drawOval绘制椭圆

drawPath绘制轮廓,不规则曲线

drawPoint绘制点

drawRect绘制矩形

drawRoundRect绘制圆角矩形

drawText绘制文本

  1. 画布的控制操作

rotate旋转画布

scale缩放画布

translate平移画布

save保存画布状态

restore恢复画布的状态

 

Paint类是画笔类,提供了一系列设置画笔的方法

  1. setAntiAlias设置是否开启抗锯齿,主要用来画圆和曲线
  2. setDither设置防抖动
  3. setColor设置画笔颜色
  4. setShadowLayer设置画笔的阴影区域和颜色
  5. setStyle设置画笔的样式,STROKE是线条,FILL填充
  6. setStrokeWidth设置画笔线条宽度(粗细)

 

  • 动画

自行定义的动画:

视图动画也叫补间动画(View 动画、Tween动画)

帧动画(Frame 动画、Drawable 动画)

属性动画

 

系统定义的动画:

触摸反馈动画(Ripple Effect)

揭露动画(Reveal Effect)

转场动画 & 共享元素(Activity 切换动画)

视图状态动画(Animate View State Changes)

矢量图动画(Vector 动画)

约束布局实现的关键帧动画(ConstraintSet 动画)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值