android監聽觸摸
① android 監聽屏幕是否被觸碰過
在第一個程序中注冊一個廣播接收器.BroadcastReceiver,指定接受的事件為A.
然後在第二個程序中捕獲OnTouch事件,點擊屏幕時,發送指定的廣播A,android的廣播系統所有程序都可以收到.
這樣就實現了你想要的功能.
② android如何判斷當前View上有幾個手指在觸摸
事件在於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的對話框怎麼監聽觸屏事件
用我這個, 我己經給你寫好了,你可以稍做修改就能用,
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中實現滑動年月來切換月份的功能,可以通過自定義GroupView來處理左右滑動事件。首先,需要在GroupView中監聽觸摸事件,獲取用戶滑動的方向和距離。當滑動距離達到一定程度時,判斷為上下一個月的操作。
具體步驟包括:
1. 創建一個自定義GroupView,繼承自View或ViewGroup。
2. 重寫觸摸事件方法,例如onTouchEvent,來處理滑動事件。
3. 在觸摸事件中,通過計算手指滑動的距離,來判斷用戶是想要切換到上一個月還是下一個月。
4. 根據滑動方向和距離,更新當前月份,並調用相應的介面通知月份變化。
5. 為了實現平滑過渡,可以在滑動過程中動態改變月份顯示,而不是直接跳轉。
6. 最後,確保在月份變化時,日歷組件能夠正確地同步更新,展示新的月份和日期。
通過這種方式,用戶可以通過滑動年月來輕松地查看不同的月份,提供更加友好的用戶體驗。同時,這種方法也使得代碼結構更加清晰,便於後續的維護和擴展。
在實現過程中,可以使用GestureDetector來簡化觸摸事件的處理。通過設置合適的觸摸事件監聽器,能夠更方便地獲取用戶的滑動意圖。
此外,還可以考慮添加一些動畫效果,使得月份切換更加平滑自然。這可以通過在更新月份的同時,逐漸改變顯示的日期來實現。
總之,通過自定義GroupView並結合觸摸事件處理,可以實現一個流暢且用戶友好的月份切換功能。