11_SurfaceView绘图
2024-09-02 17:45:33
学习SurfaceView绘图API的使用方法,为接下来使用SurfaceView开发游戏做准备。
1 package com.example.surfaceview;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5
6 public class MainActivity extends Activity {
7
8 @Override
9 protected void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 setContentView(new MyView(this));
12
13 }
14
15 }
MainActivity
1 package com.example.surfaceview;
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.SurfaceView;
9
10 public class MyView extends SurfaceView implements SurfaceHolder.Callback {
11
12 private Paint paint = null;
13
14 public MyView(Context context) {
15 super(context);
16 paint = new Paint();
17 paint.setColor(Color.RED);
18 getHolder().addCallback(this);
19 }
20
21 // 一定要锁定画布和解锁画布
22 public void draw() {
23 Canvas canvas = getHolder().lockCanvas();
24 canvas.drawColor(Color.WHITE);
25 canvas.drawRect(0, 0, 100, 100, paint);
26
27 getHolder().unlockCanvasAndPost(canvas);
28
29 }
30
31 @Override
32 public void surfaceCreated(SurfaceHolder holder) {
33 draw();
34 }
35
36 @Override
37 public void surfaceChanged(SurfaceHolder holder, int format, int width,
38 int height) {
39 // TODO Auto-generated method stub
40
41 }
42
43 @Override
44 public void surfaceDestroyed(SurfaceHolder holder) {
45 // TODO Auto-generated method stub
46
47 }
48
49 }
MyView
最新文章
- Knockoutjs 实践入门 (1) 属性绑定
- dict内部方法
- SCU3033 Destroying a Painting(最小费用最大流)
- (组合数学3.1.2.2)POJ 2084 Game of Connections(卡特兰数公示的实现)
- Finding a needle in Haystack: Facebook’s photo storage
- optimize table-2
- unity3D射线检测敌人是否在前方
- 查询最小未使用ID的SQL查询
- ubuntu下使用codeblocks
- Redis教程(Windows)
- javassist实例
- 面试Spring之bean的生命周期
- 复制粘贴容易犯的错误 eclipse
- Codeforces Round #479 (Div. 3)解题报告
- wxwidget wxpython 可视化开发工具
- TouchID 指纹解锁
- 不要用cudnn7.2,用7.3可以兼容
- Android手掌抑制功能的实现
- hive_学习_01_hive环境搭建(单机)
- 机器学习:数据归一化(Scaler)