全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android自定义控件实现万能的对话框

自定义控件有段时间没更新了,今天给大家带来一个新的对话框样式,本着用更少的代码实现更丰富的功能。

由于对话框对用户的操作有影响,所以目前app上的对话框用的已经比较少了,但还是有一些比较重要的信息提示需要使用对话框的样式,例如版本更新,账户异地登陆等。
下面来看自定义对话框的样式:

图1:自定义提示对话框

图2:自定义警告对话框

图3:默认提示对话框

图4:默认警告对话框

这里面带来了两种对话框的样式,也是比较常见的。以上所有的背景颜色,文字颜色,以及按钮的点击效果都是可以自定义的。

下面分别看看四种对话框是如何实现的
图1:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setTitle("发现新版本V5.4.1")
    .setContent("Version5.4.1\n【更新默认表情】——同步最新表情,聊天更有趣\n" +
        "【资料卡大升级】——全新视觉设计,增加陌生人来源信息\n" +
        "【消息跳动优化】——鼠标悬浮在消息列表上时顺序不动,再也不怕点错啦\n" +
        "【收藏预览升级】——完善图片浏览体验,优化网页预览效果\n" +
        "【更多体验优化】——群成员列表宽度可调;优化天气定位策略;优化图片查看器")
    .setStyle(DialogM.STYLE_TIP)
    .setPositiveButton("更新", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "submit", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    })
    .setNegativeButton("取消", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "cancel", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    });
builder.create().show();

图2:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setTitle("Hello")
    .setTitleBackColor(getResources().getColor(R.color.content))
    .setTitleTextColor(getResources().getColor(R.color.mainColor))
    .setAlertButtonBackColor(getResources().getColor(R.color.mainColor))
    .setAlertButtonTextColor(getResources().getColor(android.R.color.white))
    .setCanceledOnTouchOutside(false)
    .setAlertButton("确定", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
      }
    })
    .setContent("landptf");
builder.create().show();

图3:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setContent("landptf")
    .setStyle(DialogM.STYLE_TIP)
    .setPositiveButton("submit", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "submit", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    })
    .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "cancel", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    });
builder.create().show();

图4:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setAlertButton("", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
      }
    })
    .setContent("landptf");
builder.create().show();

图3与图4完全使用了默认的颜色,我在代码里指定了红色为主色调。

所有的操作都是通过链式调用,可以根据自己app的风格随意改变颜色。当然了你也可以把代码下载下来增加更丰富的功能。

源码比较长,有兴趣的童鞋可以点击这里查看。
源码中采用了建造者模式,可以方便链式调用,使代码看起来更简洁。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # 对话框  # Android中自定义对话框(Dialog)的实例代码  # Android中制作自定义dialog对话框的实例分享  # Android实现自定义圆角对话框Dialog的示例代码  # Android自定义等待对话框  # Android对话框自定义标题 对话框标题美化操作  # Android自定义对话框Dialog  # Android如何自定义升级对话框示例详解  # 自定义  # 链式  # 都是  # 可调  # 我在  # 是有  # 鼠标  # 两种  # 点击这里  # 带来了  # 不动  # 采用了  # 给大家  # 少了  # 有兴趣  # 四种  # 可以根据  # 这里面  # 你也可以 


相关文章: 建设网站制作价格,怎样建立自己的公司网站?  高端网站建设与定制开发一站式解决方案 中企动力  如何高效利用200m空间完成建站?  如何在阿里云高效完成企业建站全流程?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  行程制作网站有哪些,第三方机票电子行程单怎么开?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何在橙子建站中快速调整背景颜色?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  建站之星后台管理系统如何操作?  北京制作网站的公司,北京铁路集团官方网站?  建站之星后台密码遗忘如何找回?  中山网站推广排名,中山信息港登录入口?  如何安全更换建站之星模板并保留数据?  如何在阿里云域名上完成建站全流程?  如何通过FTP空间快速搭建安全高效网站?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何在企业微信快速生成手机电脑官网?  如何注册花生壳免费域名并搭建个人网站?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何确保FTP站点访问权限与数据传输安全?  企业微网站怎么做,公司网站和公众号有什么区别?  如何获取上海专业网站定制建站电话?  如何零成本快速生成个人自助网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何通过商城自助建站源码实现零基础高效建站?  如何选择靠谱的建站公司加盟品牌?  如何高效利用亚马逊云主机搭建企业网站?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何在阿里云服务器自主搭建网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  如何在Windows环境下新建FTP站点并设置权限?  C#怎么创建控制台应用 C# Console App项目创建方法  如何在阿里云购买域名并搭建网站?  浅析上传头像示例及其注意事项  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  平台云上自主建站:模板化设计与智能工具打造高效网站  详解jQuery中基本的动画方法  香港网站服务器数量如何影响SEO优化效果?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  seo网站制作优化,网站SEO优化步骤有哪些?  C#如何在一个XML文件中查找并替换文本内容  深圳网站制作案例,网页的相关名词有哪些?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。