实例2---获得按键值
《手机游戏50例》第二个实例为将按键值显示在屏幕上,下面给出MainView.java的代码
package com.wjh.demon_2;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.Rect;import android.graphics.RectF;import android.inputmethodservice.Keyboard.Key;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.KeyEvent;import android.view.View;public class MainView extends View implements Runnable{private boolean m_bRunning = false;public int m_nKeyCode;public String m_nKeyAction="";private Handler handler = null;public MainView(Context context) {super(context);// TODO Auto-generated constructor stubsetFocusable(true);start();}public void start(){m_bRunning = true;//更新handler = new Handler(){@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);MainView.this.invalidate();}};Thread thread = new Thread(this);thread.start();}//线程启用方法public void run(){while(m_bRunning){//重回图形handler.sendEmptyMessage(0);try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public void stop(){m_bRunning = false;}//画图方法@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);//设置背景颜色Paint backGround = new Paint();backGround.setColor(Color.BLACK);//清屏canvas.drawRect(0, 0, getWidth(), getHeight(), backGround);//设置画笔颜色Paint cPaint = new Paint();cPaint.setColor(Color.BLUE);cPaint.setTextSize(20);//输出按键的设备码canvas.drawText("KeyCode:", 10, 20,cPaint);canvas.drawText(""+m_nKeyCode,120,20,cPaint);//输出按键的设备名canvas.drawText("KeyAction:", 10, 80, cPaint);canvas.drawText(m_nKeyAction, 120, 80, cPaint);}//获得按键输入@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubm_nKeyCode = keyCode;switch(keyCode){case KeyEvent.KEYCODE_DPAD_UP:m_nKeyAction = "UP";break;case KeyEvent.KEYCODE_DPAD_DOWN:m_nKeyAction = "DOWN";break;case KeyEvent.KEYCODE_DPAD_LEFT:m_nKeyAction = "LEFT";break;case KeyEvent.KEYCODE_DPAD_RIGHT:m_nKeyAction = "RIGHT";break;case KeyEvent.KEYCODE_DPAD_CENTER:m_nKeyAction = "CENTER";break;default:m_nKeyAction="NONE";break;}return super.onKeyDown(keyCode, event);}}?代码包:Demon_2.rar 1 楼 zhang247124629 2011-05-31 适合新手.. 2 楼 一口三个汉堡 2011-05-31 zhang247124629 写道适合新手..