zoukankan      html  css  js  c++  java
  • 按键事件处理

    /**
    * 控制事件通过设置其空间的监听器来监听并处理事件 按键按下事件:通过重写onKeyDown方法 按键弹起事件:通过重写onKeyUp方法
    * 触笔点击事件:通过实现onTouchEvent方法
    *
    * @author chen_xhua
    *
    */
    public class KeyActivity extends Activity {
    // private static final String TAG = "KeyActivity";
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_key);
    // 获得button对象
    Button button_ok = (Button) findViewById(R.id.button_ok);
    // 设置Button控件监听器
    button_ok.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View arg0) {
    // 这里处理事件
    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;
    }
    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.onKeyUp(keyCode, event);
    }

    // 多次按下触发事件
    public boolean onKeyMutiple(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);

    }

    // 显示Toast
    public void DisplayToast(String str) {
    Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
    }

    }

  • 相关阅读:
    爬取网易云音乐歌手和id
    【兼容调试】cffi library '_openssl' has no function, constant or global variable named 'Cryptography_HAS
    python如何去掉字符串‘xa0’
    python 中json和字符串互相转换
    vip视频播放
    一行Python代码画心型
    Java语言编写MD5加密方法,Jmeter如何给字符串MD5加密
    转载:oracle RAC集群启动和关闭
    转载:oracle 11g ADG实施手册(亲测,已成功部署多次)
    如何上传本地文件到github又如何删除自己的github仓库
  • 原文地址:https://www.cnblogs.com/Defry/p/4209268.html
Copyright © 2011-2022 走看看