自定义对话框是经常使用的功能,我们常用的弹窗操作,除了使用popwindow(popupwindow的简单实用)就是使用dialog来实现,这两种组件都支持之定义布局和功能来满足我们个性化的需求,也可以不采用自定义而直接使用系统封装好的api来实现功能。今天简单总结下在使用dialog做弹窗功能的方法和会遇到的问题与解决方案
方法一:直接使用系统的,不自定义布局和功能方式,效果如下图:
点击事件中代码如下:
AlertDialog.Builder dialog = new AlertDialog.Builder(GroupInfoActivity.this);
dialog.setTitle("This is Dialog");
dialog.setMessage("Something important");
dialog.setCancelable(false);
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//自己的逻辑
}
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//自己的逻辑
}
});
dialog.show();
方法二:效果如下图
代码如下:
1,:自定义我们的dialog类如下所示
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import com.im.R;
/**
* 公用的Dialog,提示用户的一些操作
* Created by AndyYuan on 2018/12/26.
*/
public class CommonDialog extends Dialog implements View.OnClickListener {
private TextView contentTxt;
private TextView titleTxt;
private TextView submitTxt;
private TextView cancelTxt;
private Context mContext;
private String content;
private OncloseListener listener;
private String positiveName;
private String negativeName;
private String title;
public CommonDialog(@NonNull Context context) {
super(context);
this.mContext = context;
}
public CommonDialog(@NonNull Context context, int themeResId, String content) {
super(context, th