加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

按键事件,KeyEvent

(2011-08-04 11:10:33)
标签:

按键事件

keyevent

杂谈

分类: android小知识

1.代码:

Activity

package com.vanceinfo.KeyEvent;

 

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 KeyEventActivity extends Activity

{

    private Button button;

 

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        button = (Button) findViewById(R.id.ok_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_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);

    }

 

    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();

    }

}

2.效果图:
http://s7/middle/883d8fb8na9a5a0ee2126&690

http://s13/middle/883d8fb8na9a5a175ac4c&690

http://s12/middle/883d8fb8na9a5a181ba3b&690

http://s7/middle/883d8fb8na9a5a203fd26&690



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有