
本文实例通过前面学过的Paint、Canvas等2D绘画技术来实现在手机屏幕上绘制AndroID机器人。
具体代码实现和效果:
用来显示自定义的绘图类的布局文件
res/layout/main.xml:
<?xml version="1.0" enCoding="utf-8"?> <FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:ID="@+ID/frameLayout1" androID:orIEntation="vertical" > </FrameLayout>
打开MainActivity,在文件中创建名为MyVIEw的内部类,继承androID.vIEw.VIEw类,并添加构造方法和重写onDraw(Canvas canvas)方法,在里面进行作图:
MainActivity:
package com.example.test; import androID.app.Activity; import androID.content.Context; import androID.graphics.Canvas; import androID.graphics.color; import androID.graphics.Paint; import androID.graphics.RectF; import androID.os.Bundle; import androID.vIEw.VIEw; import androID.Widget.FrameLayout; public class MainActivity extends Activity { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); //获取布局文件中添加的帧布局管理器 FrameLayout ll=(FrameLayout)findVIEwByID(R.ID.frameLayout1); //将自定义的MyVIEw视图添加到帧布局 ll.addVIEw(new MyVIEw(this)); } public class MyVIEw extends VIEw{ public MyVIEw(Context context) { super(context); // Todo auto-generated constructor stub } @OverrIDe protected voID onDraw(Canvas canvas) { Paint paint=new Paint(); paint.setAntiAlias(true);//使用抗锯齿功能 paint.setcolor(color.GREEN); //绘制机器人的头 RectF rectf_head=new RectF(10,10,100,100); rectf_head.offset(100,20);//设置在X轴上偏移100像素,Y轴上偏移20像素 canvas.drawArc(rectf_head,-10,-160,false,paint);//绘制弧 /*.drawArc参数1:圆的范围大小;参数2:起始角度 ; 参数3:圆心角角度,360为圆,180为半圆; 参数4:中心 ;参数5:画笔Paint;*/ //绘制眼睛 paint.setcolor(color.WHITE); canvas.drawCircle(135,53,4,paint);//绘制圆 canvas.drawCircle(175,paint);//绘制圆 paint.setcolor(color.GREEN); //绘制天线 paint.setstrokeWIDth(2);//设置触笔的宽度 canvas.drawline(120,15,135,35,paint);//绘制线 canvas.drawline(190,175,paint);//绘制线 //绘制身体 canvas.drawRect(110,75,200,150,paint);//绘制矩形 RectF rectf_body=new RectF(110,140,160); canvas.drawRoundRect(rectf_body,paint);//绘制圆角矩形 /*参数说明 rect:RectF对象。 rx:x方向上的圆角半径。 ry:y方向上的圆角半径。 paint:绘制时所使用的画笔。*/ //绘制胳膊 RectF rectf_arm=new RectF(85,105,140); canvas.drawRoundRect(rectf_arm,paint); rectf_arm.offset(120,0);//设置在X轴上偏移120像素 canvas.drawRoundRect(rectf_arm,paint); //绘制腿 RectF rectf_leg=new RectF(125,145,200); canvas.drawRoundRect(rectf_leg,paint); rectf_leg.offset(40,0);//设置在X轴上偏移40像素 canvas.drawRoundRect(rectf_leg,paint); super.onDraw(canvas); } } } 画出的效果如图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
以上是内存溢出为你收集整理的Android绘制机器人小实例全部内容,希望文章能够帮你解决Android绘制机器人小实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)