android: onKeyDown以及获取屏幕的点的坐标

package com.lay1;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class LayoutDemo1Activity extends Activity
{
    private Button button;
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(listener);
    }
 
    OnClickListener listener = new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            DisplayToast("点击了OK!");
        }
    };
 
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        switch (keyCode)
        {
	        case KeyEvent.KEYCODE_BACK:
	        	DisplayToast("弹起:返回键");
	            break;
            case KeyEvent.KEYCODE_DPAD_CENTER:
                DisplayToast("按下:中间键");
                break;
            case KeyEvent.KEYCODE_DPAD_UP:
                DisplayToast("按下:向上键");
                break;
            case KeyEvent.KEYCODE_DPAD_DOWN:
                DisplayToast("按下:向下键");
                break;
            case KeyEvent.KEYCODE_DPAD_LEFT:
                DisplayToast("按下:左方向键");
                break;
            case KeyEvent.KEYCODE_DPAD_RIGHT:
                DisplayToast("按下:有方向键");
                break;
            default:
                break;
        }
        //return super.onKeyDown(keyCode, event);
        return false;
    }
 
   /* public boolean onKeyUp(int keyCode, KeyEvent event)
    {
        switch (keyCode)
        {
	        
            case KeyEvent.KEYCODE_DPAD_CENTER:
                DisplayToast("弹起:中间键");
                break;
            case KeyEvent.KEYCODE_DPAD_DOWN:
                DisplayToast("弹起:向下键");
                break;
            case KeyEvent.KEYCODE_DPAD_LEFT:
                DisplayToast("弹起:向左键");
                break;
            case KeyEvent.KEYCODE_DPAD_RIGHT:
                DisplayToast("弹起:向右键");
                break;
            case KeyEvent.KEYCODE_DPAD_UP:
                DisplayToast("弹起:向上键");
                break;
        }
        return super.onKeyDown(keyCode, event);
    }*/
 
    public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
    {
        return super.onKeyMultiple(keyCode, repeatCount, event);
    }
 
    public boolean onTouchEvent(MotionEvent event)
    {
        int iAction = event.getAction();
        if (iAction == MotionEvent.ACTION_CANCEL || iAction == MotionEvent.ACTION_DOWN
                || iAction == MotionEvent.ACTION_MOVE)
        {
            return false;
        }
        int x = (int) event.getX();
        int y = (int) event.getY();
        DisplayToast("触笔点击坐标:(" + Integer.toString(x) + "," + Integer.toString(y) + ")");
        return super.onTouchEvent(event);
    }
    public void DisplayToast(String str)
    {
        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
    }
}

  

posted @ 2012-08-23 15:49  ligang305  阅读(5900)  评论(0编辑  收藏  举报