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. POS 客显 设备 显示 总价 单价 找零 收款 C# SerialPort 法
  2. 盘点欧盟反垄断案对整个安卓生态造成的5大影响
  3. Maven中settings.xml的配置项说明
  4. boost::msm::mpl_graph::breadth_first_search相关的测试程序
  5. java消费kafka数据之后,进行堆积之后在插入数据库
  6. android没有蓝牙设备,【Android】没有触发LeScanCallback导致无法搜索到蓝牙设备
  7. mybatis中使用小于号
  8. RK3288_Android7.1基于tinyalsa的音频调试说明
  9. fscapture下载收费吗?_网课视频及短视频下载工具
  10. 解读《美国国家BIM标准》– BIM能力成熟度模型 (一)
  11. Vue知识点囊括清单
  12. 买的鱼丸怎么做好吃 鱼丸的家常做法介绍
  13. CENTOS6 安装和使用PHP全链路追踪 Molten
  14. 适合开发人员看的鸿蒙OS介绍~
  15. mycobot 使用教程
  16. html中怎么让英文排版,css如何实现英文对话排版
  17. 使用PlantUML插件来做图
  18. 4.微信登入小程序与后端实现
  19. JavaScript中的强制多态 | Lynda教程 中文字幕
  20. 使用axios+koa+exceljs下载excel文件完整示例

热门文章

  1. 【弄nèng - Activiti6】Activiti6入门篇(十)—— 脚本任务
  2. MongoDB学习(接上文)
  3. qq截图怎样截全屏?
  4. SysY文法与相关Clang类实例分析
  5. Tomcat启动报错“java.lang.ClassNotFoundException: org.apache.catalina.loader.DevLoader”
  6. eLCDIF—液晶显示
  7. 连续系统的零状态响应与零输入响应
  8. python实验指导书_Python实验指导书
  9. xcode怎么更换app的图标和名字?
  10. 《蛊真人》经典语录/名句