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

android开发-画笔画布画几何图形

2013-08-09 18:59 183 查看

android开发-画笔画布画几何图形



一个activity,显示一个view

activity:

package com.example.test;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
        
        //setContentView还可以这样用的
        setContentView(new MainView(this)); 
        
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


view:

package com.example.test;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Typeface;
import android.view.View;

public class MainView extends View{
	//要有一支画笔才能画
	private Paint p;

	public MainView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
		p = new Paint();
		
		//设置画笔无锯齿(如果不设置可以看到效果很差)
		p.setAntiAlias(true); 
		
		//设置背景常亮 
        this.setKeepScreenOn(true);
        
        //设置画笔颜色
        p.setColor(Color.WHITE); 
	}

	@Override
	public void draw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.draw(canvas);
		
		//设置画布颜色
		canvas.drawColor(Color.BLACK);
		
		//画矩形
        Rect rect = new Rect(50, 50, 100, 100);
        canvas.drawRect(rect, p); 
        
        //椭圆
        RectF rectF = new RectF(120f,30f,180f,180f);
        canvas.drawArc(rectF, 0, 360, true, p); 
        
        //画圆
        p.setColor(Color.BLUE);
        canvas.drawCircle(80, 230, 50, p);

        //画直线
        p.setColor(Color.WHITE);
        canvas.drawLine(30, 400, 300, 100, p);
        
        //写字
        p.setTextSize(30f);
        p.setTypeface(Typeface.SANS_SERIF);
        canvas.drawText("梁国俏", 200, 300, p); 
	}
	
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: