moqo view使用方法

moqo view使用方法

1、写一个类继承View类,一般要重写ondraw方法。一般而言我们去自己绘制一个view,在另一个activity中setContentView(view)去引用它。

public class GameView extends View {

static int count = 0

static int y = 0

public GameView(Context context) {

super(context)

}

@Override

protected void onDraw(Canvas canvas) {

if (count<100) {

count++

}

else {

count = 0

}

Paint paint = new Paint()

switch (count%4) {

case 0:

olor()

break

case 1:

olor()

break

case 2:

olor()

break

case 3:

olor(N)

break

}

Rect((320-80)/2, y, (320-80)/2+80, y+40, paint)

aw(canvas)

}

}

2

写一个activity。

public class ViewTestActivity extends Activity {

/** Called when the activity is first created. */

public static GameView gameView

public static Handler handler = new Handler(){

@Override

public void handleMessage(Message msg) {

if ( ==11) {

}

leMessage(msg)

}

}

@Override

public void onCreate(Bundle savedInstanceState) {

eate(savedInstanceState)

gameView = new GameView(this)

setContentView(gameView)

new Thread(new GameThread())t()

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

switch (keyCode) {

case ODE_DPAD_DOWN:

GameView.y+= 3

break

case ODE_DPAD_UP:

GameView.y-=3

break

}

return yDown(keyCode, event)

}

@Override

public boolean onKeyUp(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

return true

}

@Override

public boolean onTouchEvent(MotionEvent event) {

// TODO Auto-generated method stub

return true

}

}

class GameThread implements Runnable{

@Override

public void run() {

while (!entThread()terrupted()) {

try {

p(100)

} catch (InterruptedException e) {

tStackTrace()

entThread()rrupt()

}

Invalidate()//使用postnvalidate可以直接在线程中更新界面

}

}

}