Android在SurfaceView绘图
16lz
2021-01-26
MainActivity
1 package com.example.surfacedemo; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Menu; 6 7 public class MainActivity extends Activity { 8 9 @Override10 public void onCreate(Bundle savedInstanceState) {11 super.onCreate(savedInstanceState);12 setContentView(new MyView(this)); //设置显示MyView实例13 }14 15 @Override16 public boolean onCreateOptionsMenu(Menu menu) {17 getMenuInflater().inflate(R.menu.activity_main, menu);18 return true;19 } 20 }
MyView
1 package com.example.surfacedemo; 2 3 import android.content.Context; 4 import android.graphics.Canvas; 5 import android.graphics.Color; 6 import android.graphics.Paint; 7 import android.view.SurfaceHolder; 8 import android.view.SurfaceHolder.Callback; 9 import android.view.SurfaceView;10 11 public class MyView extends SurfaceView {12 13 SurfaceHolder sh;14 15 public MyView(Context context) {16 super(context);17 sh = getHolder();//得到Holder18 sh.addCallback(new Callback() {//创建回调19 20 public void surfaceDestroyed(SurfaceHolder holder) {//界面销毁时执行21 22 }23 24 public void surfaceCreated(SurfaceHolder holder) {//界面创建后执行25 Canvas canvas = sh.lockCanvas();26 Paint paint=new Paint();27 paint.setColor(Color.BLUE);28 canvas.drawCircle(100,100, 20, paint);29 sh.unlockCanvasAndPost(canvas);30 }31 32 public void surfaceChanged(SurfaceHolder holder, int format, int width,33 int height) {//界面改变时执行34 35 }36 });37 }38 39 }
转载于:https://www.cnblogs.com/hzy3774/archive/2012/07/13/2590940.html
更多相关文章
- IP地址获取
- Android(安卓)模拟键值
- 在activitygroup中用startActivityForResult
- kotlin如何使用FragmentPagerAdapter
- android界面小程序
- Android应用欢迎界面实现
- AsyncTask executeOnExecutor
- Android(安卓)Service系列(十七)发送request到后台service
- android activity与view的联系--window