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并结合触摸事件处理,可以实现一个流畅且用户友好的月份切换功能。