绘制Android的机器人

来源:互联网 发布:欧亚科学院院士 知乎 编辑:程序博客网 时间:2024/05/22 07:00

1、布局文件

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/frameLayout1"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    </FrameLayout>

2、MainActivity

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        FrameLayout ll = (FrameLayout)findViewById(R.id.frameLayout1);        ll.addView(new MyView(this));    }    public class MyView extends View{public MyView(Context context) {super(context);}@Overrideprotected void onDraw(Canvas canvas) {Paint paint = new Paint();//采用默认设置创建一个画笔paint.setAntiAlias(true);//使用抗锯齿功能paint.setColor(0xFFA4C739);//设置画笔的颜色为绿色//绘制机器人的头RectF rectf_head = new RectF(10,10,100,100);rectf_head.offset(100, 20);canvas.drawArc(rectf_head, -10, -160, false, paint);//绘制弧//绘制眼睛paint.setColor(Color.WHITE);//设置画笔的颜色为白色canvas.drawCircle(135, 53, 4, paint);//绘制圆canvas.drawCircle(175, 53, 4, paint);//绘制圆paint.setColor(0xFFA4C739);//设置画笔的颜色为绿色//绘制天线paint.setStrokeWidth(2);//设置笔触的宽度canvas.drawLine(120, 15, 135, 35, paint);//绘制线canvas.drawLine(190, 15, 175, 35, paint);//绘制线//绘制身体canvas.drawRect(110, 75, 200, 150, paint);//绘制矩形RectF rectf_body = new RectF(110, 140, 200, 160);canvas.drawRoundRect(rectf_body, 10, 10, paint);//绘制圆角矩形//绘制胳膊RectF rect_arm = new RectF(85, 75, 105, 140);canvas.drawRoundRect(rect_arm, 10, 10, paint);//绘制左侧的胳膊rect_arm.offset(120, 0);//设置在x轴上偏移120像素canvas.drawRoundRect(rect_arm, 10, 10, paint);//绘制右侧的胳膊//绘制腿RectF rect_leg = new RectF(125, 150, 145, 200);canvas.drawRoundRect(rect_leg, 10, 10, paint);//绘制左侧的腿rect_leg.offset(40, 0);//设置在X轴上偏移40像素canvas.drawRoundRect(rect_leg, 10, 10, paint);//绘制右侧的腿super.onDraw(canvas);}    }}


0 0
原创粉丝点击