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

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); 
	}
	
}


























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值