`
hzy3774
  • 浏览: 984794 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Android在SurfaceView绘图

 
阅读更多

MainActivity

package com.example.surfacedemo;
 
 import android.os.Bundle;
 import android.app.Activity;
 import android.view.Menu;
 
 public class MainActivity extends Activity {
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(new MyView(this)); //设置显示MyView实例
     }
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         getMenuInflater().inflate(R.menu.activity_main, menu);
         return true;
     }    
 }

 

MyView

package com.example.surfacedemo;
 
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
 import android.view.SurfaceHolder;
 import android.view.SurfaceHolder.Callback;
 import android.view.SurfaceView;
 
 public class MyView extends SurfaceView {
     
     SurfaceHolder sh;
 
     public MyView(Context context) {
         super(context);
         sh = getHolder();//得到Holder
         sh.addCallback(new Callback() {//创建回调
             
             public void surfaceDestroyed(SurfaceHolder holder) {//界面销毁时执行
                 
             }
             
             public void surfaceCreated(SurfaceHolder holder) {//界面创建后执行
                 Canvas canvas = sh.lockCanvas();
                 Paint paint=new Paint();
                 paint.setColor(Color.BLUE);
                 canvas.drawCircle(100,100, 20, paint);
                 sh.unlockCanvasAndPost(canvas);
             }
             
             public void surfaceChanged(SurfaceHolder holder, int format, int width,
                     int height) {//界面改变时执行
                 
             }
         });
     }
 
 }

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics