android canva画人


项目下载http://download.csdn.net/my



import android.content.Context;

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.view.View;


/**
 * @author Administrator
 * @date 2015-1-19上午9:52:22
 */
public class People extends View implements  Runnable{


private  Paint paint=  null;
private  Paint paint_eye=  null;
 
    public People(Context context){
    super(context);
    paint= new  Paint();
    paint_eye = new Paint();
    }

    public void  onDraw(Canvas canvas) {
        super.onDraw(canvas);
        
paint_eye.setStyle(Paint.Style.STROKE);
paint_eye.setAntiAlias(true);
paint_eye.setColor(Color.BLACK);

canvas.drawCircle(150, 70, 50, paint_eye);//头
canvas.drawCircle(128, 55, 7, paint_eye);//左眼
canvas.drawCircle(172, 55, 7, paint_eye);//右眼


canvas.drawCircle(128, 55, 2, paint_eye);//左眼
canvas.drawCircle(172, 55, 2, paint_eye);//右眼

paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
RectF rectF = new RectF(135,55,167,100);
// canvas.drawRect(rectF, paint);
canvas.drawArc(rectF, 60, 60, false, paint_eye);//嘴唇

Path path4=new Path();//三角形    身体
        path4.moveTo(150,120);//绘画基点  
        path4.lineTo(80,230);     
        path4.lineTo(220,230);     
        path4.close();     
        canvas.drawPath(path4, paint_eye);
        
canvas.drawLine(30, 220, 90, 160, paint_eye);
canvas.drawLine(90, 160, 125,160, paint_eye);//左手

canvas.drawLine(175, 160, 210, 160, paint_eye);
canvas.drawLine(210, 160, 270, 100, paint_eye);//右手

canvas.drawLine(125, 230, 125, 350, paint_eye);//左腿
canvas.drawLine(175, 230, 175,350, paint_eye);//右腿

}


@Override
public void run() {
// TODO Auto-generated method stub
while(!Thread.currentThread().isInterrupted()) {
             try{
                   Thread.sleep(1000);
             } catch(InterruptedException e) {
               // TODO: handle exception
               Thread.currentThread().interrupt();
             }
              //使用postInvalidate 可以直接在线程中更新界面
               postInvalidate(); 
        }
}


}




发布了23 篇原创文章 · 获赞 11 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u014095878/article/details/42875357