您的位置:首页 > 移动开发 > Android开发

绘制Android的机器人

2015-09-14 14:29 417 查看
最近在看android的图形图像处理技术,觉得绘制android的机器人很有意思,于是想给自己记录下来。

1.修改main.xml文件

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/frameLayout1" >

</FrameLayout>


2.在MainActivity文件中创建一个名为MyView的内部类,该类继承自android.view.View类,并且添加构造方法和重写onDraw(Canvas canvas)方法,然后在onCreate()方法中获取帧布局管理器,并将MyView视图添加到该帧布局管理器中

3.在MyView的onDraw()方法中,首先创建一个画笔,并设置画笔的属性

package com.example.androidrobert;

import com.example.androidrobert.R;

import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;

@SuppressLint("DrawAllocation")
public class MainActivity extends Activity {

private FrameLayout ll;

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

ll = (FrameLayout) findViewById(R.id.frameLayout1);
ll.addView(new MyView(this)); //将自定义的MyView视图添加到帧布局管理器中
}

@SuppressLint("DrawAllocation")
public class MyView extends View{

public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

@SuppressLint("DrawAllocation")
protected void onDraw(Canvas canvas){
super.onDraw(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);
// 绘制天线
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 rectf_arm = new RectF(85, 75, 105, 140);
canvas.drawRoundRect(rectf_arm, 10, 10, paint);
rectf_arm.offset(120, 0); // 设置在X轴上偏移120像素
canvas.drawRoundRect(rectf_arm, 10, 10, paint);
// 绘制腿
RectF recft_leg = new RectF(125, 150, 145, 200);
canvas.drawRoundRect(recft_leg, 10, 10, paint);
recft_leg.offset(40, 0);
canvas.drawRoundRect(recft_leg, 10, 10, paint);

}
}
}


4.运行后效果如下:



第一个属于我的android机器人就完成啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: