SurfaceView_test1Activity
package bear.Graphis.surfaceview_test1;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
public class SurfaceView_test1Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SurfaceView surfaceView01 = (SurfaceView) findViewById(R.id.surfaceView1);
surfaceView01.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SurfaceView surfaceView = (SurfaceView)v;
Resources res = getResources();//先取得資源
BitmapDrawable bmpDraw =(BitmapDrawable) res.getDrawable(R.drawable.icon);//構造一個BitmapDrawable
Bitmap bmp =bmpDraw.getBitmap();//取得BitmapDrawable內的圖片
Canvas canvas = surfaceView.getHolder().lockCanvas(); // 加鎖
Paint mypaint =new Paint();
//設定Paint屬性
mypaint.setColor(Color.MAGENTA);
mypaint.setTextSize(40);
//設定Canvas屬性
canvas.drawColor(Color.WHITE);//設定畫布顏色
canvas.drawText("Hello", 0, 40, mypaint);//顯示字
canvas.drawBitmap(bmp, 50, 150, mypaint);//顯示圖片
surfaceView.getHolder().unlockCanvasAndPost(canvas);//解鎖
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<SurfaceView
android:id="@+id/surfaceView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.00" />
</LinearLayout>
結果:

沒有留言:
張貼留言