http://blog.csdn.net/qq137722697/article/details/53295856

http://www.jianshu.com/p/fb671e11e455

使用链式构建一个正常的dialog

MDialog.build().with(getActivity()).title("警告").message("您要删除吗?").show(new MDialog.OnClickCallback() {@Overridepublic void onOk() {Toast.makeText(getActivity(), "OnClickCallback", Toast.LENGTH_SHORT).show();}});

改变颜色、字体大小、图标设置、添加取消响应事件

MDialog.build().with(getActivity()).setIconResId(R.mipmap.dialogicon).title("警告").setTitleSize(24).setTitleColor("#ff0000").message("您确定要删除吗?").setMessageSize(23).setMsgColor("#BCD1D4").setOK("更新").setOKSize(25).setOkColor("#663123").setCancel("跳过").setCancelSize(22).setCancelColor("#000000").show(new MDialog.OnClickCallback() {@Overridepublic void onOk() {Toast.makeText(getActivity(), "OnClickCallback", Toast.LENGTH_SHORT).show();}@Overridepublic void onCancel() {Toast.makeText(getActivity(), "onCancel", Toast.LENGTH_SHORT).show();}});

自定义MDialog

/*** 作者:Created by zhou on 2017/7/3 08:51* 邮箱:qishuichixi@126.com* 版本:V 1.0* 描述:*/public class MDialog {private static MDialog mDialog;private String title;//标题private String message;//提示内容private int iconResId;//图标private Context context;//上下文对象private String OK;//确认private String Cancel;//取消private int btnOKSize;private int btnCancelSize;private int titleSize;//标题大小private int messageSize;//主题大小private String titleColor;//标题颜色private String msgColor;//信息颜色private String okColor;//颜色private String cancelColor;//标题颜色private MDialog() {}public static MDialog build() {//        if (mDialog == null) {
//            synchronized (MDialog.class) {
//                if (mDialog == null) {
//                    mDialog = new MDialog();
//                }
//            }
//        }
//        return mDialog;return new MDialog();}//设置上下文对象public MDialog with(Context context) {this.context = context;return this;}// 设置标题public MDialog title(String title) {this.title = title;return this;}//设置消息public MDialog message(String message) {this.message = message;return this;}//设置图标public MDialog setIconResId(int iconResId) {this.iconResId = iconResId;return this;}//设置确认public MDialog setOK(String OK) {this.OK = OK;return this;}public MDialog setCancel(String Cancel) {this.Cancel = Cancel;return this;}public MDialog setTitleSize(int titleSize) {this.titleSize = titleSize;return this;}//设置颜色public MDialog setMessageSize(int messageSize) {this.messageSize = messageSize;return this;}public MDialog setOKSize(int btnOKSize) {this.btnOKSize = btnOKSize;return this;}public MDialog setCancelSize(int btnCancelSize) {this.btnCancelSize = btnCancelSize;return this;}public MDialog setTitleColor(String titleColor) {this.titleColor = titleColor;return this;}public MDialog setMsgColor(String msgColor) {this.msgColor = msgColor;return this;}public MDialog setOkColor(String okColor) {this.okColor = okColor;return this;}public MDialog setCancelColor(String cancelColor) {this.cancelColor = cancelColor;return this;}//显示对话框public void show(final OnClickCallback callback) {AlertDialog.Builder builder = new AlertDialog.Builder(context);if (!TextUtils.isEmpty(title)) {builder.setTitle(title);}if (!TextUtils.isEmpty(message)) {builder.setMessage(message);}if (iconResId != 0) {builder.setIcon(iconResId);}if (TextUtils.isEmpty(Cancel)) {Cancel = "取消";}if (TextUtils.isEmpty(OK)) {OK = "确认";}builder.setNegativeButton(Cancel, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {callback.onCancel();}});builder.setPositiveButton(OK, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {callback.onOk();}});AlertDialog dialog = builder.create();dialog.show();//设置属性setAttribute(dialog);}private void setAttribute(AlertDialog dialog) {//设置标题DialogTitle title = (DialogTitle) dialog.findViewById(R.id.alertTitle);TextView textView = (TextView) dialog.findViewById(android.R.id.message);Button positiveBtn = dialog.getButton(DialogInterface.BUTTON_POSITIVE);Button negativeBtn = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);//设置大小if (titleSize != 0) title.setTextSize(titleSize);if (messageSize != 0) textView.setTextSize(messageSize);if (btnOKSize != 0) positiveBtn.setTextSize(btnOKSize);if (btnCancelSize != 0) negativeBtn.setTextSize(btnCancelSize);//设置颜色try {if(!TextUtils.isEmpty(okColor))positiveBtn.setTextColor(Color.parseColor(okColor));if(!TextUtils.isEmpty(cancelColor))negativeBtn.setTextColor(Color.parseColor(cancelColor));if(!TextUtils.isEmpty(titleColor))title.setTextColor(Color.parseColor(titleColor));if(!TextUtils.isEmpty(msgColor))textView.setTextColor(Color.parseColor(msgColor));}catch (Exception e){throw  new RuntimeException("颜色属性设置出错,格式为#123456");}}interface IOnClickCallback {void onOk();//点击确定的时候回调}public static abstract class OnClickCallback implements IOnClickCallback {public void onCancel() {//点击取消的时候回调}}}

http://pan.baidu.com/s/1nvBhkkL

转载于:https://my.oschina.net/u/3015461/blog/1142634

自定义Dialog,字体颜色任意设置相关推荐

  1. 网站字体颜色大小php代码,html字体颜色的设置方法

    html字体颜色的设置方法:1.通过外部CSS样式设置,代码如".blue{color:blue;}":2.通过内部CSS样式设置,代码如"style="col ...

  2. css的font修改颜色,css的font字体颜色如何设置

    css的font字体颜色设置方法:1.直接在标签上使用"color:颜色"设置字体颜色:2.通过给font标签添加class属性,在css标签中通过该class设置字体颜色. 本教 ...

  3. html给按钮加颜色代码,css按钮属性 html中按钮的字体颜色怎么设置?

    css 属性设置input 中type为button 的属性 css中什么属性可以控制按钮的形状 1.dispaly 适用于css1和css2,用于设置目标对象是否及如何显示.该属性的常用值为none ...

  4. html5怎么给字加颜色代码,字体颜色怎么设置?

    字体颜色怎么设置?下面本篇文章给大家介绍一下HTML页面和word文档中设置字体颜色的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. HTML页面中设置字体颜色的方法 在网页开 ...

  5. java设置文本框里字体颜色_swing设置字体颜色

    ());//设置该容器的布局 container.setBackground(Color.red);//设置字体对话框颜色 testLabel = new JLabel("作者:张旭&quo ...

  6. html5字体颜色自动转换,【转】js里alert里的字体颜色怎么设置:字体颜色方法;fontcolor(color)...

    alert("投票总数不大于");不知道怎么改变字体所以查了下找到下面的信息,好东西.用法: 主要内容如下: Javascript 要点 1. 变量用Var来声明 var 某某变量 ...

  7. 怎么设置php的css颜色代码,CSS的文本字体颜色如何设置

    这里要介绍的是网页设置颜色包含有哪些:网页颜色规定规范. 1.常用颜色地方包含:字体颜色.超链接颜色.网页背景颜色.边框颜色 2.颜色规范与颜色规定:网页使用RGB模式颜色 网页中颜色的运用是网页必不 ...

  8. html alert字体颜色,js里alert里的字体颜色怎么设置:字体颜色方法;fontcolor(color)...

    我的总结:  alert应该是没办法改变的  只有自己写个弹出窗口才可以改变字体颜色 我的总结:  alert应该是没办法改变的  只有自己写个弹出窗口才可以改变字体颜色 ============== ...

  9. EasyX窗口大小字号字体字体颜色的设置

    #include<stdio.h> #include<easyx.h> int main() {     initgraph(400, 400);  //设置窗口大小      ...

最新文章

  1. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.1 引言...
  2. 将Spring Boot项目打包成jar包war包
  3. Mybatis 3 返回布尔值,需要注意的地方
  4. 算法----------快乐数 (Java版本)
  5. vtkBorderWidget设置窗口位置的问题
  6. “视网膜”重装来袭 AI技术为视频业务场景赋能
  7. JavaScript错误处理和堆栈追踪浅析
  8. AgileEAS.NET敏捷开发平台案例-药店系统-项目说明
  9. 请假案例_师生沟通案例8|谢谢你,“请假大王”!
  10. 一文教你如何深入机器学习,从编程基础到完整的项目实战
  11. 优秀ui设计网站分享整理
  12. 1.2 批量生成MySQL建表语句
  13. 北京五大不可不去的隐秘餐厅
  14. 3、switch -项目7-定期存款利息计算器
  15. oracle16gbk存储中文乱码,解决PLSQL中文乱码以及Oracle服务端的字符集修改为ZHS16GBK(问题完善)...
  16. 【软件需求工程】北理的恶龙们04——项目成果总结
  17. uniapp的分享到朋友圈和朋友(APP)
  18. day52 css选择器和特性
  19. python根据url获得m3u8_python爬取m3u8连接的视频
  20. 《计算机网络自顶向下方法》读书笔记(一):计算机网络和因特网

热门文章

  1. iPad 8和iPadAir 3 的区别
  2. 微软Xbox360 E与微软Xbox360 slim Kinect套装(1TB)哪个好
  3. 苏轼人生历程不同时期作品
  4. 通过组策略来防治U盘病毒
  5. PHOTOSHOP基本概念00
  6. 4-1-9 高空坠球 (20分)
  7. 安卓原生系统怎么进入官方Recovery,显示 无命令 的解决方法
  8. 招商银行2020FinTech精英训练营数据赛道参赛回顾
  9. 读书笔记——《趋势红利》
  10. 计算机恢复出厂设置的话有什么,电脑恢复出厂设置会怎么样,教您电脑怎么恢复出厂设置...