⑴ android中,如何模拟触摸屏down的一个事件,例如屏幕有个按钮,我要是用代码实现按钮被点击了。
不知道你是要知道“怎么模拟按钮的点击事件”还是要知道“这个东西是怎么调上来的”?
1、模拟点击事件,可以用调用Button的onClick的方法。
2、这个点击事件是触到屏幕后,触摸屏驱动首先得到这个消息,然后根据WindowManager里面记录的信息分发给ViewRoot,然后就一直发,就像生活委员发信件一样,最终发给那个被点击的View,没人处理就报废。
⑵ 如何发送一个触屏事件给ANDROID系统
可能通过命令行 input 命令向android发送事件。
Android中,模拟事件全部是通过input命令来实现的。
input命令的使用:
usage: input ...
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>
1. keyevent指的是android对应的keycode,比如home键的keycode=3,back键的keycode=4.
具体请查阅 <android keycode详>
然后使用的话比较简单,比如想模拟home按键:
adb shell input keyevent 3根据具体keycode编辑即可。
2. 关于tap的话,他模拟的是touch屏幕的事件,只需给出x、y坐标即可。
此x、y坐标对应的是真实的屏幕分辨率,所以要根据具体手机具体看,比如想点击屏幕(x, y) = (250, 250)位置:
adb shell input tap 250 250
3. 关于swipe同tap是一样的,只是他是模拟滑动的事件,给出起点和终点的坐标即可。例如从屏幕(250, 250), 到屏幕(300, 300)即 adb shell input swipe 250 250 300 300 。
⑶ android 判断是否触屏
Android判断屏幕有没有触碰,可以通过OnTouch事件来判断。当用户触摸了屏幕就会执行onTouch事件。 在Activity中重写onTouchEvent方法。 在public boolean onTouchEvent(android.view.MotionEvent event) 中用变量记录即可。 boolean isTouch = t。详细的可以看看安卓巴士教程:http://www.apkbus.com/thread-463343-1-1.html
⑷ 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的对话框怎么监听触屏事件
用我这个, 我己经给你写好了,你可以稍做修改就能用,
title是对话框的标题
icon是resID,是一张图片的ID,放在你res目录下的drawable
okcmd和cancelcmd分别是确认和取消按钮的字符串
//确认对话框的呼出
public void showDialog(String title,int icon,String msg,String okcmd,String cancelCmd){
if(okcmd==null){return;}
Log.i("setDialog", "dialogTitle="+title
+" dialogContent"+msg+
" dialogCmdOk"+okcmd
+" dialogCmdCancel"+cancelCmd
+" dialogIcon"+icon);
Builder builder=new AlertDialog.Builder(this);
builder.setTitle(title);
if(icon>0){
builder.setIcon(icon);
}else{
builder.setIcon(R.drawable.icon);
}
builder.setMessage(msg);
builder.setPositiveButton(okcmd,
new
android.content.DialogInterface.OnClickListener(){
public void onClick(DialogInterface d, int i) {
Log.i("showDialog", "onClick");
}
});
if(cancelCmd!=null && cancelCmd.length()>0){
builder.setNeutralButton(cancelCmd,
new android.content.DialogInterface.OnClickListener(){
public void onClick(DialogInterface d, int i) { }
});
}
AlertDialog dialog =builder.create();
dialog.show();
}
⑹ android 如何监听没有触屏事件或者没有按键事件
监听整个机子的点击和键盘事件?
另外问题描述清楚一点,<如何监听“没有触屏事件”或者“没有按键事件”>没有事件何来监听?要把问题描述清楚!
⑺ Android中一个activity如何触发其他activity的事件,比如按键事件,触摸屏事件
不可能的.
同一时间只能有一个activity处于活动状态,没有办法做到你说的这种.
⑻ 如何让Android中的组件不响应触屏事件
禁止Android 组件响应事件,有以下方式:
给控件注册一个touch事件,并return true,即可。
view.onTouchEvent(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
})
2.给控件设置setClickable(false),即可。
⑼ android 触摸事件,如何在android activity界面实现手触摸事件的监听,就是真实环境,不是模拟器上的
实现这个onTouchEvent(),取得触屏坐标,判断是否在背景上,在就播放一个声音!
⑽ 关于android 触屏事件与点击事件冲突
你要先描述你要实现什么样的功能,再贴代码,别人看起来更清晰些。
你的主要问题就是两个事件都响应了相同的功能,造成冲突,对吧?那么你可以设置一个成员变量(或者静态变量)比较mHasHandled,先响应的事件把它设置为true,后响应的事件监测到它已经是true了就不再处理了。