文章参考/转自: https://www.cnblogs.com/xiaoxiaoqingyi/p/6738108.html 

感谢博主的无私奉献,受益匪浅。

效果很好,如图:

1. 定义CommonDialog类

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(Context context) {        super(context);        this.mContext = context;    }    public CommonDialog(Context context, int themeResId, String content) {        super(context, themeResId);        this.mContext = context;        this.content = content;    }    public CommonDialog(Context context, int themeResId, String content, OnCloseListener listener) {        super(context, themeResId);        this.mContext = context;        this.content = content;        this.listener = listener;    }    protected CommonDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {        super(context, cancelable, cancelListener);        this.mContext = context;    }    public CommonDialog setTitle(String title){        this.title = title;        return this;    }    public CommonDialog setPositiveButton(String name){        this.positiveName = name;        return this;    }    public CommonDialog setNegativeButton(String name){        this.negativeName = name;        return this;    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.dialog_dialog);        setCanceledOnTouchOutside(false);        initView();    }    private void initView(){        contentTxt = (TextView)findViewById(R.id.content);        titleTxt = (TextView)findViewById(R.id.title);        submitTxt = (TextView)findViewById(R.id.submit);        submitTxt.setOnClickListener(this);        cancelTxt = (TextView)findViewById(R.id.cancel);        cancelTxt.setOnClickListener(this);        contentTxt.setText(content);        if(!TextUtils.isEmpty(positiveName)){            submitTxt.setText(positiveName);        }        if(!TextUtils.isEmpty(negativeName)){            cancelTxt.setText(negativeName);        }        if(!TextUtils.isEmpty(title)){            titleTxt.setText(title);        }    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.cancel:                if(listener != null){                    listener.onClick(this, false);                }                this.dismiss();                break;            case R.id.submit:                if(listener != null){                    listener.onClick(this, true);                }                break;        }    }    public interface OnCloseListener{        void onClick(Dialog dialog, boolean confirm);    }}

2. 创建布局文件dialog_dialog.xml:

<?xml version="1.0" encoding="utf-8"?>                                            

3. drawable目录下添加如下三个样式文件   

    bg_dialog_left_white.xml

<?xml version="1.0" encoding="utf-8"?>        

    bg_dialog_right_white.xml

        

    bg_round_white.xml

<?xml version="1.0" encoding="utf-8"?>        

4. 在res\values\colors.xml添加

    #424242    #a1a1a1    #42369a    #f3f3f3

5. 在在res\values\styles.xml添加

    

调用实例(程序退出时的一个确认框 和效果图对应) 代码如下:

    @Override    public void onBackPressed() {        //super.onBackPressed();  //注释掉这行,back键不退出activity        new CommonDialog(context, R.style.dialog, "确定退出程序?", new CommonDialog.OnCloseListener() {            @Override            public void onClick(Dialog dialog, boolean confirm) {                if (confirm) {                    dialog.dismiss();                    ActivityCollector.finishAll(); //关闭所有活动  退出程序                } else {                    dialog.cancel();                }            }        }).setTitle("提示").show();    }

 

更多相关文章

  1. Android屏蔽HOME键
  2. Android(安卓)Button,TextView的显示大小写问题
  3. android点击按钮发出声音
  4. TextView在xml里配置onclick事件
  5. android sd卡数据库读取
  6. android退出activity提示再按一次返回键
  7. android中Activity实现再按一次退出
  8. [Android]当Activity启动模式为singleTask时的生命周期
  9. android 中动态创建控件

随机推荐

  1. Android显示图片自适应(控件+网页)
  2. android tool export报错为support v7包
  3. Android(安卓)studio 出现 Unsupported m
  4. Android完全退出应用程序
  5. Handler,Looper,MessageQueue的实现
  6. Android(安卓)MediaScanner 详尽分析
  7. Listview Section 多个标题以及内容
  8. Android(安卓)button设置height后圆角消
  9. android material design 军火库 控件
  10. 横竖屏切换时不销毁当前activity 和 锁定