A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不二晨 金牌黑马   /  2019-4-8 14:22  /  847 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

《自定义view》
public class WaterView extends View {

private Paint paint;
private Path path;
private float mX;

public WaterView(Context context) {
    super(context);

    init(context);
}


public WaterView(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
    init(context);
}

//初始化画笔路径
private void init(Context context) {
    //初始化路径
    path = new Path();

    paint = new Paint();//画笔
    paint.setColor(Color.RED);//画笔颜色
    paint.setStrokeWidth(5);//画笔的粗细
    paint.setAntiAlias(true);//设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢

}

//绘制方法
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    path.reset();//路径重置


    path.moveTo(getLeft(), 350); //记录起始位置
    //记录波动位置
    float mpl = (float) (Math.PI*4/getRight());//获取每一个宽度所占的度数

    mX -= 0.1f;
    for (int x = 0; x<=getRight(); x+=20) {
        path.lineTo(x, (float) (10*Math.cos(mpl*x+mX)+100));//记录从左向右的x作弊哦
    }
    path.lineTo(getRight(), 350); //记录结束位置
    //通过canvas绘制
    canvas.drawPath(path, paint);

    postInvalidateDelayed(20);//定时刷新
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
}

《布局》
<com.bawei.mydonghua.WaterView
android:id="@+id/water_view"
android:layout_width=“match_parent”
android:layout_height=“match_parent” />

《MainActivity 》
public class MainActivity extends AppCompatActivity {

private WaterView water;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    water = findViewById(R.id.water_view);

}
1
2
3
4
5
6
7
8
9
10
}
---------------------
【转载,仅作分享,侵删】
作者:偏执青年
原文:https://blog.csdn.net/weixin_44666694/article/details/89059301
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马