android surfaceView参考

layout下main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
 <testView.moandroid.testView
	 android:id="@+id/testView"
	 android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     tileSize="12"/>
</FrameLayout>
继承view的testView

package testView.moandroid;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.Bitmap.Config;
import android.util.AttributeSet;
import android.view.View;

public class testView extends View {
	private Bitmap  mbmpTest=null;
	private final Paint mPaint = new Paint();
	private final String mstrTitle="感受Android带给我们的新体验";
	public testView(Context context, AttributeSet attrs, int defStyle)
	{
	     super(context, attrs, defStyle);
	     mPaint.setColor(Color.GREEN);
	}
	 public testView(Context context, AttributeSet attrs) 
	 {
	     super(context, attrs);
	     mPaint.setColor(Color.GREEN);
	 }
	 
	public boolean initBitmap(int w,int h,int c)
	{
		mbmpTest = Bitmap.createBitmap(w,h, Config.ARGB_8888);
		Canvas canvas = new Canvas(mbmpTest);  
		canvas.drawColor(Color.WHITE);
		Paint p = new Paint();
		String familyName = "宋体";
		Typeface font = Typeface.create(familyName,Typeface.BOLD);
		p.setColor(Color.RED);
		p.setTypeface(font);
		p.setTextSize(22);  
		canvas.drawText(mstrTitle,0,100,p);
		return true;
	}
	@Override
    public void onDraw(Canvas canvas) 
	{
		 super.onDraw(canvas); 
		 /*if(mbmpTest!=null)
		 {
		     Rect rtSource = new Rect(0,0,320,240);
		     Rect rtDst = new Rect(0,0,320,240);
		     canvas.drawBitmap(mbmpTest, rtSource,rtDst, mPaint);
		 }*/
		 if(mbmpTest!=null)
		 {
		   Matrix matrix = new Matrix();
           //matrix.postScale(0.5f, 0.5f);
           matrix.setRotate(90,120,120);
           canvas.drawBitmap(mbmpTest, matrix, mPaint);
		 } 
    }
}
	
activity文件testActivity

package testView.moandroid;

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

public class testActivity extends Activity {
	private testView mTestview;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mTestview = (testView) findViewById(R.id.testView);
        mTestview.initBitmap(320,240,0xcccccc);
    }
}

效果图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值