自定义View3-水波纹扩散(仿支付宝咻一咻)实现代码、思想-LMLPHP自定义View3-水波纹扩散(仿支付宝咻一咻)实现代码、思想-LMLPHP

开工

1、创建RippleView.class, 继承与View

  • RippleView主要初始化一些数据,

  • onSizeChanged主要获取位置坐标

  • onDraw主要绘制图像,关键

public class RippleView extends View {

    public RippleView(Context context) {
        this(context, null);
    }

    public RippleView(Context context, @Nullable AttributeSet attrs) {
        //this(context, null, 0);//如果第二个参数写null,则自定义属性将不可用
        this(context, attrs, 0);
    }
  
    public RippleView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        ........
    }    
   @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); ........ } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); ........ } }
08-29 15:32