㈠ 关于android 触屏事件与点击事件冲突
你要先描述你要实现什么样的功能,再贴代码,别人看起来更清晰些。
你的主要问题就是两个事件都响应了相同的功能,造成冲突,对吧?那么你可以设置一个成员变量(或者静态变量)比较mHasHandled,先响应的事件把它设置为true,后响应的事件监测到它已经是true了就不再处理了。
㈡ android如何设置屏幕的某块区域有触摸事件
方法如下:
public boolean onTouchEvent(MotionEvent event) {
//获得触摸的坐标
float x = event.getX();
float y = event.getY(); switch (event.getAction())
{
//触摸屏幕时刻
case MotionEvent.ACTION_DOWN:
break;
//触摸并移动时刻
case MotionEvent.ACTION_MOVE:
break;
//终止触摸时刻
case MotionEvent.ACTION_UP:
break;
}
return true;
}
关于public boolean onTouchEvent (MotionEvent event)方法:
参数event:参数event为手机屏幕触摸事件封装类的对象,其中封装了该事件的所有信息,例如触摸的位置、触摸的类型以及触摸的时间等。该对象会在用户触摸手机屏幕时被创建。
返回值:该方法的返回值机理与键盘响应事件的相同,同样是当已经完整地处理了该事件且不希望其他回调方法再次处理时返回true,否则返回false。
该方法并不像之前介绍过的方法只处理一种事件,一般情况下以下三种情况的事件全部由onTouchEvent方法处理,只是三种情况中的动作值不同。
屏幕被按下:当屏幕被按下时,会自动调用该方法来处理事件,此时MotionEvent.getAction()的值为MotionEvent.ACTION_DOWN,如果在应用程序中需要处理屏幕被按下的事件,只需重新该回调方法,然后在方法中进行动作的判断即可。
屏幕被抬起:当触控笔离开屏幕时触发的事件,该事件同样需要onTouchEvent方法来捕捉,然后在方法中进行动作判断。当MotionEvent.getAction()的值为MotionEvent.ACTION_UP时,表示是屏幕被抬起的事件。
在屏幕中拖动:该方法还负责处理触控笔在屏幕上滑动的事件,同样是调用MotionEvent.getAction()方法来判断动作值是否为MotionEvent.ACTION_MOVE再进行处理。
㈢ android 怎么判断子view在处理touch事件
事件在于UI交互式发生的,点击一个按键时,可能就已经除非好几个事件,例如点击数字键“0”,会涉及到按下事件,和一个弹起(松开)事件,在android中还可能涉及到触摸屏事件,所以在android系统中,事件是作为常用的功能之一; 在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下: l onClick(View v) 一个普通的点击按钮事件 l boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)用于在多个事件连续时发生,用于按键重复,必须重载@Override实现 l boolean onKeyDown(int keyCode,KeyEvent event) 用于在按键进行按下时发生 l boolean onKeyUp(int keyCode,KeyEvent event) 用于在按键进行释放时发生 l onTouchEvent(MotionEvent event)触摸屏事件,当在触摸屏上有动作时发生
㈣ android事件处理方式有哪些
现代的用户界面,都是以事件来驱动的来实现人机交换的,而Android上的一套UI控件,无非就是派发鼠标和键盘事件,然后每个控件收到相应的事件之后,做相应的处理。如Button控件,就只需要处理Down、move、up这几个事件,Down的时候重绘控件,move的时候一般也需要重绘控件,当up的时候,重绘控件,然后产生onClick事件。在Android中通过实现OnClickListener接口的onClick方法来实现对Button控件的处理。
对于触摸屏事件(鼠标事件)有按下有:按下、弹起、移动、双击、长按、滑动、滚动。按下、弹起、移动(down、move、up)是简单的触摸屏事件,而双击、长按、滑动、滚动需要根据运动的轨迹来做识别的。在Android中有专门的类去识别,android.view.GestureDetector。
对于按键(keyevent),无非就是按下、弹起、长按等。
㈤ 如何让Android中的组件不响应触屏事件
禁止Android 组件响应事件,有以下方式:
给控件注册一个touch事件,并return true,即可。
view.onTouchEvent(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
})
2.给控件设置setClickable(false),即可。
㈥ android中,如何模拟触摸屏down的一个事件,例如屏幕有个按钮,我要是用代码实现按钮被点击了。
不知道你是要知道“怎么模拟按钮的点击事件”还是要知道“这个东西是怎么调上来的”?
1、模拟点击事件,可以用调用Button的onClick的方法。
2、这个点击事件是触到屏幕后,触摸屏驱动首先得到这个消息,然后根据WindowManager里面记录的信息分发给ViewRoot,然后就一直发,就像生活委员发信件一样,最终发给那个被点击的View,没人处理就报废。
㈦ Android可监听的事件类型(提示:用户事件和系统事件,用户事件又分为按键事件和触屏事件)
在android系统中,存在多种界面事件,如点击事件,触摸事件,焦点事件,和菜单事件
用户事件和系统事件等,事件发生时,android界面框架调用界面控件的事件处理函数对事件进行处理。
如:用户事件:
按键事件:keyevent将传递给onkey()函数进行处理
触屏事件:touchevent将传递给ontouch()函数进行处理。
㈧ android中触屏事件和键盘事件
一个键只会有一种状态,不会冲突。
就好像一个人,当他在中国的时候,不可能同时在美国。。
㈨ android对整个activity进行触屏事件处理
不是屏蔽了,是button、textView 这些组件把触摸事件截获了,你可能需要在acticity中调用interrupetOntouchEnent() 直接阻断触摸事件,然后在ontouchEvent()中处理