水波纹

`
1.布局代码
<com.bawei.myapplicationshui.WenView
android:layout_width=“match_parent”
android:layout_height=“100dp” />
2.Java代码
public class WenView extends View {

private Paint mpaint;
private Path mpath;
private float mpi;
private float mX;

public WenView(Context context) {
    super(context);
    init(context);
}
public WenView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);
}
//初始化画笔,路径
private void init(Context context) {
    //初始化路径
    mpath = new Path();
    //初始化画笔
    mpaint = new Paint();
    mpaint.setColor(Color.parseColor("#f00000"));
    mpaint.setStrokeWidth(5);
    //消除锯齿
    mpaint.setAntiAlias(true);
}
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    //重置路径
    mpath.reset();
    //记录起始位置
    mpath.moveTo(getLeft(),getBottom());

    //记录波动位置
    //获取每一个宽度所占的度数
    mpi = (float) (Math.PI * 10 / getRight());
    mX -= 0.5f; //波动速度
    for (int x=0;x<=getRight();x+=20){
    //记录路径位置
    mpath.lineTo(x, (float) (10*Math.cos(mpi*x- mX)+100));
    }
    //记录结束位置
    mpath.lineTo(getRight(),getBottom());
    //把画笔和路径设置给画布
    canvas.drawPath(mpath,mpaint);
    //定时刷新
    postInvalidateDelayed(20);
}

}

![水波纹效果图](https://img-blog.csdnimg.cn/20190320205303592.jpg)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值