View difference between Paste ID: s53Qgdag and TUu3wBPg
SHOW: | | - or go back to the newest paste.
1
 package com.badlogic.androidgames;  
2
    import android.app.Activity;        
3
    import android.content.Context;     
4
    import android.graphics.Canvas;     
5
    import android.os.Bundle;            
6
    import android.view.SurfaceHolder;    
7
    import android.view.SurfaceView;     
8
    import android.view.Window;          
9
    import android.view.WindowManager;   
10
11
    public class SurfaceViewTest extends Activity {
12
13
    FastRenderView renderView;
14
    public void onCreate(Bundle savedInstanceState) {
15
16
    super.onCreate(savedInstanceState);
17
     requestWindowFeature(Window.FEATURE_NO_TITLE);
18
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
19
      WindowManager.LayoutParams.FLAG_FULLSCREEN);
20
      renderView = new FastRenderView(this);
21
      setContentView(renderView);
22
23
          }
24
      protected void onResume() {
25
         super.onResume();
26
         renderView.resume();
27
       }
28
        protected void onPause() {
29
        super.onPause();
30
         renderView.pause();
31
        }
32
33
34
35
36
     class FastRenderView extends SurfaceView implements Runnable,OnTouchListener {
37
     Thread renderThread = null;
38
39
    SurfaceHolder holder;
40
      Paint paint;
41
       int x=0;
42
       int y=0;
43
44
       volatile boolean running = false;
45
46
      public FastRenderView(Context context) {
47
     super(context);
48
       holder = getHolder();
49
50-
        this.setOnclickListener(this);
50+
        this.setOnTouchListener(this);
51
        }
52
53
       public void resume() {
54
        running = true;
55
         renderThread = new Thread(this);
56
        renderThread.start();
57
        }
58
        public void run() {
59
        while(running) {
60
        if(!holder.getSurface().isValid())
61
             continue;
62
          Canvas canvas = holder.lockCanvas();
63
           paint= new Paint();
64
65
        paint.setStyle(Paint.Style.STROKE);
66
       paint.setStrokeWidth(1);
67
       paint.setColor(Color.MAGENTA);
68
       paint.setTextSize(30);
69
      canvas.drawText(""+x+","+y, 75, 75, paint);
70
     holder.unlockCanvasAndPost(canvas);
71
          }
72
        }
73
74
75
        onTouch(View v, MotionEvent event)
76
        {
77
78
        x=event.getX();
79
      y=event.getY();
80
81
       }
82
83
        public void pause() {
84
        running = false;
85
         while(true) {
86
        try {
87
          renderThread.join();
88
          } catch (InterruptedException e) {
89
        // retry
90
                }
91
              }
92
               }
93
            }
94
          }