【软通动力】HarmonyOS基础知识拓展之自定义控件 原创 精华
引言
在实际应用开发中,有时候我们会使用一些自定义控件,如:圆形进度条、下拉刷新上拉加载、圆角图片、图表库……,都使用的是自定义控件,可见自定义控件的实用场景也是多种多样。所以对于HarmonyOS开发者而言,也需要了解HarmonyOS自定义控件的开发知识,这对于每一个HarmonyOS开发者,也是一项必不可少的专业技能。
功能介绍
主要介绍了自定义控件类的创建、绘制任务接口DrawTask的实现,以及画笔Paint、画布Canvas的使用,和直线、圆、以及文字的绘制。
指南
1. 创建一个CustomerView类继承自Component,并实现DrawTask(绘制任务接口):
2. 重写其构造方法 CustomerView(Context context, AttrSet attrSet),添加绘制任务addDrawTask(this):
3. 实现接口DrawTask的方法onDraw():
//这里实现自定义控件的绘制过程,比如绘制个圆
Paint paint=new Paint();//创建画笔
paint.setColor(Color.GREEN);//设置画笔颜色
paint.setStyle(Style.FILL_STYLE);//设置画笔填充样式,这里用实心样式;还有空心样式
paint.setStrokeWidth(8);//设置画笔粗细大小
canvas.drawCircle(600,400,100,paint);//使用canvas画布完成绘制,参数600,400表示圆心的x,y坐标,100表示圆的半径,paint为设置的画笔
//绘制文字
Point pointStart=new Point((float)700,(float)400);//绘制直线起点
Point pointEnd=new Point((float)1000,(float)400);//绘制直线终点
canvas.drawLine(pointStart,pointEnd,paint);//绘制直线的方法,参数分别是起点、终点及画笔对象
//绘制文字
paint.setTextSize(60);//绘制文字时,设置文字大小
canvas.drawText(paint,"自定义图形",(float) 450,(float)630);//参数为画笔对象、文字内容以及绘制文字的坐标点x/y值
}
4. 在xml布局中引用自定义控件:
5.自定义控件类源码:
实现效果图:
加油,多多输出。
软通动力技术团队规模持续壮大。
期待张老师继续更新HarmonyOS干货
软通的老师们这段时间更新有点慢哦
支持前辈!
在线催更?