先看效果图:
第一步 创建一个项目,在MainActivity所在文件夹下面创建一个MyView的java文件:
第二步 将MyView文件添加到布局文件中:
布局文件(activity_main.xml):
<FrameLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:id="@+id/frameLayout"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"></FrameLayout>
MainActivity:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);FrameLayout frameLayout = findViewById(R.id.frameLayout);frameLayout.addView(new MyView(this));}
第三步 在MyView文件中绘制小机器人(在onDraw方法中进行):
1、创建画笔:
Paint paint = new Paint(); //创建一个画笔paint.setAntiAlias(true);//采用抗锯齿功能paint.setColor(0xFFA4C739); //设置画笔的颜色为绿色
2、绘制机器人的头:
RectF rectF = new RectF(10, 10, 100, 100); //外轮廓矩形rectF.offset(90, 20);canvas.drawArc(rectF, -10, -160, false, paint);
3、绘制眼睛(眼睛的颜色是白色,所以这里要重新设置颜色):
paint.setColor(0xFFFFFFFF); //设置画笔为白色canvas.drawCircle(165, 53, 4, paint);canvas.drawCircle(125, 53, 4, paint);
4、绘制天线(天线有两根):
paint.setColor(0xFFA4C739);paint.setStrokeWidth(2);//设置笔触的宽度canvas.drawLine(110, 15, 125, 35, paint);canvas.drawLine(180, 15, 165, 35, paint);
5、绘制身体(上面是直角矩形,下面是圆角矩形):
canvas.drawRect(100, 75, 190, 150, paint); //绘制矩形RectF rectF_body = new RectF(100, 140, 190, 160);canvas.drawRoundRect(rectF_body, 10, 10, paint); //绘制圆角矩形
6、绘制胳膊:
RectF rectF_arm = new RectF(75, 75, 95, 140);canvas.drawRoundRect(rectF_arm, 10, 10, paint);rectF_arm.offset(120, 0);canvas.drawRoundRect(rectF_arm, 10, 10, paint);
7、绘制小腿:
RectF rectF_leg = new RectF(115, 150, 135, 200);canvas.drawRoundRect(rectF_leg, 10, 10, paint);rectF_leg.offset(40, 0);canvas.drawRoundRect(rectF_leg, 10, 10, paint);