Android的对话框怎么监听触屏事件?
查阅了很多资料,都没找到Dialog监听触屏事件的方法。在android.app.Dialog类下面有个方法publicbooleanonTouchEvent(Motio...
查阅了很多资料,都没找到Dialog监听触屏事件的方法。
在android.app.Dialog类下面有个方法public boolean onTouchEvent (MotionEvent event)
但怎么用都不对,提示onTouchEvent (MotionEvent event)的参数不能用int类型,而MotionEvent本身就是int类型。这不是自相矛盾了啊,郁闷哦。
还请各位赐教。 展开
在android.app.Dialog类下面有个方法public boolean onTouchEvent (MotionEvent event)
但怎么用都不对,提示onTouchEvent (MotionEvent event)的参数不能用int类型,而MotionEvent本身就是int类型。这不是自相矛盾了啊,郁闷哦。
还请各位赐教。 展开
4个回答
展开全部
用我这个, 我己经给你写好了,你可以稍做修改就能用,
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();
}
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();
}
网易云信
2023-12-06 广告
2023-12-06 广告
各种消息提醒、在线状态、消息里面发礼物打电话都可以实现的。网易云信 1 对 1 UIKit 组件深入娱乐社交领域,提供一站式的产品方案,助力开发者更好、更快地构建 1 对 1 社交平台。此外,我们也提供基于底层 SDK 集成方案,使业务能够...
点击进入详情页
本回答由网易云信提供
展开全部
event.getAction()==MotionEvent.****
虽然看不懂你在说些什么
是不是想通过监控屏幕触摸事件??
虽然看不懂你在说些什么
是不是想通过监控屏幕触摸事件??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 android.view.View.OnTouchListener 这个试试。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建一个子类:
public class MyDialog extend Dialog{
public MyDialog(***,***){
super(***,***);
}
@Override
public boolean dispatchTouchEvent(){
// 重写该方法
}
}
用子类建立对话框对象即可:
Dialog dialog = new MyDialog(***, ***)
public class MyDialog extend Dialog{
public MyDialog(***,***){
super(***,***);
}
@Override
public boolean dispatchTouchEvent(){
// 重写该方法
}
}
用子类建立对话框对象即可:
Dialog dialog = new MyDialog(***, ***)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询