Advertisement
Guest User

Surfaceview

a guest
Jan 2nd, 2013
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.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.           }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement