自定义 Dialog

html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <title>Dialog Demo</title>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/dialog.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" type="text/css" href="css/bootstrap.css"/>
        <link rel="stylesheet" type="text/css" href="css/bootstrap-responsive.css"/>
        <link rel="stylesheet" type="text/css" href="css/dialog.css"/>
    </head>

    <body>
        <div id="mask"></div>
    </body>

    <script type="text/javascript">

        // 创建对话框
        var dialog = new Dialog();
        dialog.createDialog();

        // 设置对话框标题
        dialog.setTitle("提示");

        // 设置对话框消息
        dialog.setMessage("是否删除该图片?");

        // 创建需要显示的按钮
        var list = new Array();
        var save = document.createElement("input");
        save.type = "button";
        save.setAttribute("class","btn");
        save.value = " 保 存 ";
        save.onclick = function() {
            dialog.hideDialog();
        }
        list[list.length] = save;

        // 设置对话框按钮
        dialog.setButtons(list);

        // 显示对话框
        dialog.showDialog();

    </script>

</html>

JavaScript

function Dialog() {

    /**
     * 创建对话框
     * 
     */
    this.createDialog = function() {
        var mask = document.getElementById("mask");
        var dialog = document.createElement("div");
        var title = document.createElement("div");
        var body = document.createElement("div");
        var foot = document.createElement("div");

        dialog.id = "dialog";
        title.id = "dialog-title";
        body.id = "dialog-body";
        foot.id = "dialog-foot";

        dialog.appendChild(title);
        dialog.appendChild(body);
        dialog.appendChild(foot);
        mask.appendChild(dialog);
    }

    /**
     * 显示对话框
     */
    this.showDialog = function() {
        $('#mask').fadeIn("fast", function(){
            $('#dialog').slideDown("fast");
        });
    }

    /**
     * 隐藏对话框
     */
    this.hideDialog = function() {
        $('#dialog').slideUp("fast",function(){
            $('#mask').fadeOut("fast");
        });
    }

    /**
     * 设置标题显示内容
     */
    this.setTitle = function(title) {
        $('#dialog-title').html(title);
    }

    /**
     * 设置消息显示内容
     */
    this.setMessage = function(message) {
        $('#dialog-body').html(message);
    }

    /**
     * 添加按钮 
     * 默认会有一个关闭按钮
     * 
     * @param {Object} objs
     */
    this.setButtons = function(objs) {
        var button = document.createElement("input");
        button.type = "button";
        button.setAttribute("class","btn");
        button.value = " 确 认 ";
        button.onclick = function() {
            $('#dialog').slideUp("fast",function(){
                $('#mask').fadeOut("fast");
            });
        }
        if(undefined!=objs && null!=objs && objs.length>0) {
            for (var i=0; i<objs.length; i++) {
                $('#dialog-foot').append(objs[i]);
            }
            button.value = " 关 闭 ";
        }
        $('#dialog-foot').append(button);
    }



}

CSS

*{
    margin: 0px;
    padding: 0px;
}

#mask {
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: 9997;
    -moz-opacity: 0.7;
    opacity: .70;
    filter: alpha(opacity=70);
}

#dialog {
    display: none;
    position: relative;
    top: 23px;
    width: 53%;
    min-height: 150px;
    border: 3px solid #CCCCCC;
    background-color: white;
    z-index: 9998;
    overflow: auto;
    /* 水平居中 */
    margin-left: auto;
    margin-right: auto;
    /*修改对话框的字体*/
    font-family: "微软雅黑";
}

#dialog-title {
    position: absolute;
    height: 35px;
    width: 100%;
    top: 0px;
    left: 0px;
    font-size: 30px;
    font-weight: normal;
    background-color: #CCCCCC;
    padding-top: 7px;
}

#dialog-foot {
    background-color: #CCCCCC;
    position: absolute;
    height: 32px;
    width: 100%;
    bottom: 0px;
    right: 0px;
    padding-top: 3px;
    text-align: right;
}

#dialog-body {
    font-size: 15px;
    padding-top: 60px;
    padding-left: 23px;
    padding-bottom: 30px;
}

#dialog-foot .btn {
    margin-right: 10px;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android自定义dialog是一种可以根据开发者的需求进行自定义的对话框。通过自定义dialog,开发者可以实现特定的界面设计和功能。根据引用,我们可以使用AlertDialog.Builder来创建一个普通的弹出框。而根据引用,我们可以通过简单的设置和技巧来实现Android自定义dialog。如果想要对话框具有自定义布局,可以创建一个布局文件,然后通过调用AlertDialog.Builder的setView()方法将其添加到对话框中。默认情况下,自定义布局会填充对话框窗口,但是仍然可以使用AlertDialog.Builder的其他方法来添加按钮和标题。此外,开发者还可以完全自定义一个Dialog,需要进行以下几步: 1. 定义一个style 2. 创建一个继承自Dialog的子类 3. 在子类中实现自定义布局和相关功能 4. 在应用中调用自定义dialog的实例来显示对话框。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [android之自定义Dialog](https://blog.csdn.net/weixin_41796401/article/details/96636408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Android自定义dialog简单实现方法](https://download.csdn.net/download/weixin_38736562/12800768)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值