自定义dialog响应按钮点击事件

1、新建activity类

2、新建dialog类,继承AlertDialog类,(也可以在直接用AlertDialog.Builder新建类)

3、actibity类中创建dialog类对象。

                                SelectDialog selectDialog = new SelectDialog(MainActivity.this,
R.style.dialog);// 创建Dialog并设置样式主题
Window win = selectDialog.getWindow();
LayoutParams params = new LayoutParams();
params.x = -230;// 设置x坐标
params.y = -70;// 设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside(true);// 设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();


这里面会有一个问题,就是在我的dialog窗体中加入button控件时,控件的响应会出现卡UI的问题,导致不能正确响应。

解决方法是:

在dialog中的oncreate方法中,将

setContentView(R.layout.link_type)改为

View view = this.getLayoutInflater().inflate(R.layout.link_type, null);
setContentView(view);

而控件则由view.findViewById(R.id.d)得到


还有一个问题是,如何在自定义dialog类中启动activity,方法是:

生命一个Context mContext类型,在dialog构造函数中将构造函数的参数context赋值给mContext

再用mContext.startActivity()方法启动。

你可能感兴趣的:(android)