Here is the code of my two files:
package com.drawing;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import com.drawing.LemonadeMainMenuView.LemonadeMainMenuThread;
public class Main extends Activity{
private LemonadeMainMenuThread mLemonadeMainMenuThread;
private LemonadeMainMenuView mLemonadeMainMenuView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mLemonadeMainMenuView = (LemonadeMainMenuView)
findViewById(R.id.lunar);
mLemonadeMainMenuThread = mLemonadeMainMenuView.getThread();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
mLemonadeMainMenuView.setCoords(event.getX(), event.getY(), 11);
return true;
}
}
and....
package com.drawing;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Rect;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.widget.TextView;
public class LemonadeMainMenuView extends SurfaceView implements
SurfaceHolder.Callback{
private boolean mRun = false;
public boolean b = false;
class LemonadeMainMenuThread extends Thread {
Bitmap bitmap = null;
private SurfaceHolder mSurfaceHolder;
private Handler mHandler;
private Context mContext;
public void setRunning(boolean b) {
mRun = b;
}
public LemonadeMainMenuThread(SurfaceHolder surfaceHolder, Context
context,
Handler handler) {
mSurfaceHolder = surfaceHolder;
mHandler = handler;
mContext = context;
}
Resources res = getResources();
@Override
public void run() {
while (mRun) {
Canvas c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
c.restore();
doDraw(c);
c.save();
}
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
private void doDraw(Canvas canvas) {
if (bitmap == null) {
bitmap = Bitmap.createBitmap(1000,
1000,Bitmap.Config.ARGB_8888);
canvas.setBitmap(bitmap);
}
if(b){
canvas.drawColor(Color.TRANSPARENT);
canvas.drawBitmap(bitmap, 0, 0, null);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setStyle(Style.FILL);
canvas.drawCircle(mx, my, msize, paint);
}
}}
private TextView mStatusText;
private LemonadeMainMenuThread thread;
public int mx;
public int my;
public int msize;
public LemonadeMainMenuView(Context context, AttributeSet attrs) {
super(context, attrs);
SurfaceHolder holder = getHolder();
holder.addCallback(this);
thread = new LemonadeMainMenuThread(holder, context, new
Handler() {
@Override
public void handleMessage(Message m) {
}
});
setFocusable(true);
}
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2,
int arg3) {
}
public void surfaceCreated(SurfaceHolder arg0) {
thread.setRunning(true);
thread.start();
}
public LemonadeMainMenuThread getThread() {
return thread;
}
public LemonadeMainMenuThread setThreadRunning(boolean b) {
mRun = b;
return thread;
}
public LemonadeMainMenuThread setCoords(float f, float g, int size) {
mx = (int) f;
my = (int) g;
msize = size;
b = true;
return thread;
}
public void setTextView(TextView textView) {
mStatusText = textView;
}
public void surfaceDestroyed(SurfaceHolder arg0) {
}
}
main.xml just displays LemonadeMainMenu.java
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en