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

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

效果很好,如图:

Android 提示框_第1张图片

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】如何实现一个简单的文件浏览器
  2. Android文件权限(Linux的权限)
  3. Android和IOS录制mp3语音文件的方法
  4. android读取SDCard任意路径下的文件
  5. android如何获取SD卡上的多媒体文件
  6. android退出activity提示再按一次返回键
  7. Android 退出程序方式——再按一次退出
  8. AndroidManifest.xml文件详解(uses-sdk)

随机推荐

  1. Android 捕获Activity 返回
  2. android之Adapter
  3. Android SDK安装时碰到的问题之解决办法
  4. 【android】读取通讯录
  5. 关于ContentProvider的设置问题
  6. Android service 实现过程
  7. Android Gson类型转换错误解决 com.googl
  8. Android:控件ProgressBar进度条
  9. android自定义带图片的title
  10. android数据库操作