050 {
051 @Override
052 public void onClick(View v)
053 {
054 // TODO Auto-generated method stub
055 RestoreButton();
056 }
057 });
058 }
059
060 @Override
061 public boolean onKeyDown(int keyCode, KeyEvent event)
062 {
063 // TODO Auto-generated method stub
064 switch(keyCode)
065 {
066 /* 中间按键 */
067 case KeyEvent.KEYCODE_DPAD_CENTER:
068 /* keyCode=23 */
069 RestoreButton();
070 break;
071 /* 上按键 */
072 case KeyEvent.KEYCODE_DPAD_UP:
073 /* keyCode=19 */
074 MoveButtonUp();
075 break;
076 /* 下按键 */
077 case KeyEvent.KEYCODE_DPAD_DOWN:
078 /* keyCode=20 */
079 MoveButtonDown();
080 break;
081 /* 左按键 */
082 case KeyEvent.KEYCODE_DPAD_LEFT:
083 /* keyCode=21 */
084 MoveButtonLeft();
085 break;
086 /* 右按键 */
087 case KeyEvent.KEYCODE_DPAD_RIGHT:
088 /* keyCode=22 */
089 MoveButtonRight();
090 break;
091 }
092 return super.onKeyDown(keyCode, event);
093 }
094
095 /* 还原按钮位置的事件处理 */
096 public void RestoreButton()
097 {
098 intButtonX = ((intScreenX-intWidth)/2);
099 intButtonY = ((intScreenY-intHeight)/2);
100 mMakeTextToast
101 (
102 "("+
103 Integer.toString(intButtonX)+
104 ","+
105 Integer.toString(intButtonY)+")",true
106 );
107
108 /* 以setLayoutParams方法,重新安排Layout上的位置 */
109 mButton01.setLayoutParams
110 (