package com.yarin.android.Examples_05_06;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
public class GameView extends View implements Runnable
{
/* ����Paint���� */
private Paint mPaint = null;
private int mICount = 0;
/* ����TextUtil���� */
private TextUtil mTextUtil = null;
public GameView(Context context)
{
super(context);
/* �������� */
mPaint = new Paint();
String string = "�����Զ�����\n\n���������Զ�����abcdefgh\niklmnopqrst����123347465\n43756245Android\n���������Զ�����abcdefgh\niklmnopqrst����123347465\n43756245Android";
/* ʵ����TextUtil */
mTextUtil = new TextUtil(string,5,50,300,80,0x0,0xffffff,255,16);
/* ��ʼ��TextUtil */
mTextUtil.InitText(string,5,50,300,80,0x0,0xffffff,255,16);
/* �����߳� */
new Thread(this).start();
}
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
/* ���ñ�����ɫ */
canvas.drawColor(Color.BLACK);
mPaint.setAntiAlias(true);
if ( mICount < 100 )
{
mICount++;
}
mPaint.setColor(Color.RED);
canvas.drawText("װ�ڽ��ȣ�"+mICount+"%......", 10, 20, mPaint);
/* ����TextUtil��ʵ���Զ����� */
mTextUtil.DrawText(canvas);
}
// �����¼�
public boolean onTouchEvent(MotionEvent event)
{
return true;
}
// ���������¼�
public boolean onKeyDown(int keyCode, KeyEvent event)
{
return mTextUtil.KeyDown(keyCode, event);
}
// ���������¼�
public boolean onKeyUp(int keyCode, KeyEvent event)
{
return false;
}
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
{
return true;
}
/**
* �̴߳���
*/
public void run()
{
while (!Thread.currentThread().isInterrupted())
{
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
Thread.currentThread().interrupt();
}
//ʹ��postInvalidate����ֱ�����߳��и��½���
postInvalidate();
}
}
}