package com.example.helloandroid;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class HelloAndroid extends Activity {
private TextView mTextView01;
private TextView mTextView02;
private Button mButtonView01;
private static final String url = "file:///android_asset/index.html";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView myView = new MyView(this);
//setContentView(R.layout.main);
setContentView(myView);
}
/*自定义继承View的MyView*/
private class MyView extends View implements Runnable
{
boolean isRunning = true;
int radius = 30;
int left = 30;
int top = 30;
Handler handler;
int dx=1;
int dy=1;
public MyView(Context context)
{
super(context);
handler = new Handler();
new Thread(this).start();
}
/*重写onDraw()*/
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);//背景色为白
Paint paint = new Paint();
paint.setAntiAlias(true);//去锯齿
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);//空心的
paint.setStrokeWidth(3);//外框宽度
/*画空心圆形*/
canvas.drawCircle(left, top, radius, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event){
isRunning = false;
return true;
}
public void run() {
// TODO Auto-generated method stub
while(isRunning){
dx = left < radius || left > (getWidth()-radius)? -dx:dx;
dy = top < radius || top > (getHeight()-radius)? -dy:dy;
left = left + dx;
top = top + dy;
handler.post(new Runnable(){
public void run(){
invalidate();
}
}
);
try{
Thread.sleep(10);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
}