⑴ 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了就不再處理了。