在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下:

常用实现OnClickListener,OnTouchListener,OnFocusChangeListener,OnKeyListener

1.onClick(View v)一个普通的点击按钮事件

2.boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)用于在多个事件连续时发生,用于按键重复,必须重载@Override实现

3.boolean onKeyDown(int keyCode,KeyEvent event)用于在按键进行按下时发生

4.boolean onKeyUp(int keyCode,KeyEvent event)用于在按键进行释放时发生

5.onTouchEvent(MotionEvent event)触摸屏事件,当在触摸屏上有动作时发生

6.boolean onKeyLongPress(int keyCode, KeyEvent event)当你长时间按时发生

8.abstract boolean onDown(MotionEvent e); 单击,触摸屏按下时立刻触发

9.abstract boolean onSingleTapUp(MotionEvent e); 抬起,手指离开触摸屏时触发(长按、滚动、滑动时,不会触发这个手势)

10.abstract void onShowPress(MotionEvent e); 短按,触摸屏按下后片刻后抬起,会触发这个手势,如果迅速抬起则不会

11.abstract void onLongPress(MotionEvent e); 长按,触摸屏按下后既不抬起也不移动,过一段时间后触发

12.abstract boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY); 滚动,触摸屏按下后移动

13.abstract boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY); 滑动,触摸屏按下后快速移动并抬起,会先触发滚动手势,跟着触发一个滑动手势

14.OnDoubleTapListener的接口有这几个:(1)abstract boolean onDoubleTap(MotionEvent e); 双击,手指在触摸屏上迅速点击第二下时触发

(2)abstract boolean onDoubleTapEvent(MotionEvent e); 双击的按下跟抬起各触发一次

(3)abstract boolean onSingleTapConfirmed(MotionEvent e); 单击确认,即很快的按下并抬起,但并不连续点击第二下

有时候我们并不需要处理上面所有手势,方便起见,Android提供了另外一个类SimpleOnGestureListener实现了如上接口,我们只需要继承SimpleOnGestureListener然后重载感兴趣的手势即可。

例:1.获得相关对象,设置控件监听器

Button button=(Button) findViewById(R.id.button1);

//设置监听

button.setOnClickListener(newButton.OnClickListener()

{

@Override

publicvoid onClick(View v) {

//TODO Auto-generated method stub

DisplayToast("事件触发成功");

}

});

请注意这里末尾使用的是分号“;这里就是获得

button

的实例,然后对他进行监听,当用户点击时就会发生

onClick

事件,这里还用到一个方法,就是显示一个短消息,在屏幕停留几秒钟就会自动消失,其方法如下

:

publicvoid DisplayToast(String str)

{

Toast.makeText(this, str, Toast.LENGTH_SHORT).show();

}

当然你也可以设置显示长点,即

Toast.

LENGTH_SHORT

改为

Toast.LENGTH_LONG

2.当按键按下是发生的事件

public boolean onKeyDown(int keyCode,KeyEvent event)

{

switch(keyCode)

{

case KeyEvent.KEYCODE_0:

DisplayToast("你按下数字键0");

break;

case KeyEvent.KEYCODE_DPAD_CENTER:

DisplayToast("你按下中间键");

break;sss

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;

case KeyEvent.KEYCODE_ALT_LEFT:

DisplayToast("你按下组合键alt+←");

break;

}

return super.onKeyDown(keyCode, event);

}

这里所有的

keyCode

都囊括了,这只是几个比较典型的例子,效果如下:

3.当按键弹起时发生的事件,代码如下:

publicboolean onKeyUp(int keyCode,KeyEvent event)

{

switch(keyCode)

{

case KeyEvent.KEYCODE_0:

DisplayToast("松开数字键0");

break;

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;

case KeyEvent.KEYCODE_ALT_LEFT:

DisplayToast("松开组合键alt+←");

break;

}

returnsuper.onKeyUp(keyCode, event);

}

4.

触摸屏事件,当用手或者用笔在触摸屏上做动作是发生,相关代码如下:

public boolean onTouchEvent(MotionEvent event)

{

int Action = event.getAction();

float X = event.getX();

float Y = event.getY();

mAction.setText("Action = " + Action);

mPosition.setText("Position = (" + X + " , " + Y + ")");

return true;

}

其中 Action变量会得到三个返回值,代表三种不同的触摸阶段

Action = 0 : ACTION_DOWN

Action = 1 : ACTION_UP

Action = 2 ; ACTION_MOVE 就是拖动的感觉5.

连续点击按键时发生的事件

Publicboolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)

{

Return super.onKeyMultiple(keyCode, repeatCount, event);

}

android自动屏幕点击事件,Android 中屏幕点击事件的实现相关推荐

  1. android多击事件_Android中的多击事件

    在android系统中.google提供了一个click事件.只负责相应单次点击. 如果想实现双机或者多击事件的话就需要借鉴下google原生应用的源码了. 在android中,三次点击android ...

  2. android自动触发返回,ionic4处理android返回按钮事件

    前言 之前在这里介绍了ionic3如何处理android返回按钮 ionic4和ionic3关于android返回按钮的处理是不一样的,而且有点坑,所以本文介绍一下 效果演示 如下gif,所有返回操作 ...

  3. android全局监听onkeydown,在Fragment中监听onKeyDown事件

    在Activity中可以很轻监听到onKeyDown事件,但大部分场景我们的操作是在Fragment中完成的,此时要获取到onKeyDown事件需要多做点事 1.首先在Fragment的宿主Activ ...

  4. android自动申请悬浮窗权限,Android 悬浮窗--无需权限

    image.png 无需一切权限,不受各种国产ROM限制,默认可以显示的应用内悬浮窗. 应用内显示,无需申请任何权限 应用内显示,所有机型都可以默认显示悬浮窗,无需引导用户做更多设置 支持拖拽 超出屏 ...

  5. android 可编辑的表格框架,smartTable-一款android自动生成表格框架---A Android automatically generated table framework...

    一款android自动生成表格框架功能介绍 1. 快速配置自动生成表格: 2. 自动计算表格宽高: 3. 表格列标题组合: 4. 表格固定左序列.顶部序列.第一行.列标题.统计行: 5. 自动统计,排 ...

  6. android自动接听电话并回复,android自动接听电话各种异常处理

    public void autoAnswerPhone() { try { Log.i(TAG,"autoAnswerPhone"); ITelephony itelephony ...

  7. wpf 监听退出事件_WPF中常用的Window事件

    1. Activated获得焦点事件 和 Deactivated失去焦点的事件: Activated: 获得焦点 (首次打开软件时:由别的软件切换回当前软件时:点击当前软件在任务栏的按钮时) Deac ...

  8. JavaScript 事件——“事件类型”中“复合事件”和“变动事件”的注意要点

    复合事件 复合事件是DOM3级事件中心添加的一类事件,用于处理IME的输入序列. compositionstart.compositionupdate.compositionend 复合事件有以下三中 ...

  9. android 自动清理缓存图片吗,Android中Glide获取缓存大小并清除缓存图片

    清除Glide缓存 Glide自带清除缓存的功能,分别对应Glide.get(context).clearDiskCache();(清除磁盘缓存)与Glide.get(context).clearMe ...

  10. android 自动打包脚本,Jenkins实现Android自动化打包

    1.Tomcat 进入 https://tomcat.apache.org/ 官网,下载最新的 tomcat 安装包并且安装. 安装完成后,启动 tomcat 后,在浏览器中输入 http://loc ...

最新文章

  1. 关于 Caused by: java.lang.NoClassDefFoundError: com/alipay/api/AlipayApiException 解决办法
  2. 使用XHProf分析PHP性能瓶颈(二)
  3. 您基于JEE的Web项目的结构是什么?
  4. iOS Runtime特性之关联对象
  5. python变量和数据类型_Python变量和数据类型简介
  6. Linux 操作系统启动流程以及trouble shooting
  7. centos linux 使用无线网卡,CentOS环境下安装无线网卡
  8. XenCenter建立SR存储库,添加系统ISO镜像源
  9. 换把人体工学椅,缓解久坐写代码的老腰吧~
  10. Mac OS 使用笔记
  11. 新加坡政府将与加美两国就网络安全问题展开合作
  12. MindManager22直装版思维导图新功能
  13. 宁芝普拉姆键盘说明书以及键盘校验软件
  14. 使用 Python 从谷歌搜索结果中抓取图像
  15. MacBookpro连不上WiFi,网络增加新的位置解决
  16. jq 修改元素css伪类样式
  17. 美式口语发音技巧:《发音总结》
  18. Aspose.Cells 取消隐藏行和列(取消隐藏单行、取消隐藏多行、取消隐藏单列、取消隐藏多列
  19. 斐波纳契数列(Fibonacci Sequence),又称黄金分割数列
  20. 如何用未越狱手机安装ipa文件(更新版)

热门文章

  1. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之原型模式
  2. 理财U24 认股权证、可赎债、可转债、永续债、优先股 教材解读
  3. JSON扩展类——JsonHelper
  4. 35岁以后的Android程序员出路在哪里?大牛最佳总结
  5. linux 格式化工具 mkfs 简介
  6. Firefox修改快捷键插件SakaKey使用教程
  7. 芮城县县名由来 芮伯庙 古魏城 芮伯万 永乐县
  8. 常见的 vue elementUI el的标签总结
  9. 正向有功正向无功_电表的正向有功和反向无功的详细解读
  10. win10+centOS7双系统安装步骤记录