package com.Viewc;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
public class ViewCActivity extends Activity {
private static final int REFRESH = 0x000001;
private ViewC myGameView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.myGameView = new ViewC(this);
setContentView(myGameView);
new Thread(new GameThread()).start();
}
Handler myHandler = new Handler()
{
public void handleMessage(Message msg) {
switch(msg.what)
{
case ViewCActivity.REFRESH:
myGameView.invalidate();
break;
}
super.handleMessage(msg);
}
};
class GameThread implements Runnable
{
public void run() {
while(!Thread.currentThread().isInterrupted())
{
Message msg = new Message();
msg.what = ViewCActivity.REFRESH;
myHandler.sendMessage(msg);
try {
Thread.sleep(1000);
} catch (Exception e) {
Thread.currentThread().interrupt();
}
}
}
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_UP:
myGameView.top -= 3;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
myGameView.top += 3;
break;
}
return false;
}
}
package com.Viewc;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class ViewC extends View
{
int top = 0;
int miCount = 0;
public ViewC(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
if(miCount < 100)
{
miCount ++ ;
}else
{
miCount = 0;
}
int left = 120;
float right = 200;
Paint paint = new Paint();
switch(miCount % 4)
{
case 0:
paint.setColor(Color.BLUE);
break;
case 1:
paint.setColor(Color.GREEN);
break;
case 2:
paint.setColor(Color.RED);
break;
case 3:
paint.setColor(Color.YELLOW);
break;
default:
paint.setColor(Color.WHITE);
break;
}
canvas.drawRect(left, top, right, top+40, paint);
}
}