自定义样式 dialog

自定义样式 dialog,可设置界面外点击屏幕外和返回键  是否消失

基本用法如下

        CustomDialog.Builder customBuilder = new CustomDialog.Builder(context);
        customBuilder.setTitle(title)
                .setMessage(content)
                .setNegativeButton(cancelText, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        if (cancelListener != null)
                            cancelListener.onClick(dialog, which);
                    }
                })
                .setPositiveButton(okText,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                                if (okListener != null)
                                    okListener.onClick(dialog, which);
                            }
                        });
        CustomDialog dialog = customBuilder.create();
        dialog.setCancelable(isAutoDissmiss);
        dialog.show();

Utils 工具类封装

CustomDialogUtil.java
/**
 * Created by dingzuoqiang on 2017/6/20.
 * Email: [email protected]
 */

public class CustomDialogUtil {

    /**
     * final Context context,
     * String content,
     * String okText,
     * String cancelText,
     * final DialogInterface.OnClickListener okListener
     * final DialogInterface.OnClickListener cancelListener
     * boolean isAutoDissmiss
     */
    public static View normalDialog(final Context context, String title, String content, String okText, String cancelText, final DialogInterface.OnClickListener okListener, final DialogInterface.OnClickListener cancelListener, boolean isAutoDissmiss) {

        CustomDialog.Builder customBuilder = new CustomDialog.Builder(context);
        customBuilder.setTitle(title)
                .setMessage(content)
                .setNegativeButton(cancelText, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        if (cancelListener != null)
                            cancelListener.onClick(dialog, which);
                    }
                })
                .setPositiveButton(okText,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                                if (okListener != null)
                                    okListener.onClick(dialog, which);
                            }
                        });
        CustomDialog dialog = customBuilder.create();
        dialog.setCancelable(isAutoDissmiss);
        dialog.show();

        return dialog.getWindow().getDecorView();
    }

}
 
CustomDialogUtil.normalDialog(MainActivity.this, "Title", "啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊", "确定", "取消", onClickListener, null, true);

 

效果图:

git 源码下载

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file

    allprojects {
        repositories {
            ...
            maven { url ‘https://jitpack.io‘ }
        }
    }

Step 2. Add the dependency

    dependencies {
            compile ‘com.github.dingzuoqiang:CustomDialog:v1.0‘
    }
CustomDialog.Builder customBuilder = new CustomDialog.Builder(context);customBuilder.setTitle(title)        .setMessage(content)        .setNegativeButton(cancelText, new DialogInterface.OnClickListener() {            public void onClick(DialogInterface dialog, int which) {                dialog.dismiss();                if (cancelListener != null)                    cancelListener.onClick(dialog, which);            }        })        .setPositiveButton(okText,                new DialogInterface.OnClickListener() {                    public void onClick(DialogInterface dialog, int which) {                        dialog.dismiss();                        if (okListener != null)                            okListener.onClick(dialog, which);                    }                });CustomDialog dialog = customBuilder.create();dialog.setCancelable(isAutoDissmiss);dialog.show();
时间: 2024-08-28 11:33:09

自定义样式 dialog的相关文章

Dialog详解(包括进度条、PopupWindow、自定义view、自定义样式的对话框)

Android中提供了多种对话框,在实际应用中我们可能会需要修改这些已有的对话框.本实例就是从实际出发,展现了andorid中大部分对话框,代码中用了一个对话框管理类来做封装,其中还定义了对话框的动画.自定义样式等等. 主布局文件(全是button) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.co

Dialog自定义样式的设置

final MyDialog dialog = new MyDialog(CouponsDetailActivity.this,R.style.MyDialogStyle); View view = LayoutInflater.from(CouponsDetailActivity.this).inflate(R.layout.logindialog,null); dialog.setContentView(view); Button sure = (Button) view.findViewB

自定义Dialog的详细步骤(实现自定义样式一般原理)

现在很多App的提示对话框都非常有个性,然而你还用系统的对话框样式,是不是觉得很落后呢,今天我就给大家讲讲怎样自定义自己的Dialog,学会了之后,你就会根据自家app的主题,设计出相应的Dialog的风格. 好了接下来我就以一个简单风格的自定义Dialog来讲讲自定义dialog的一般步骤和原理. 第一步: 给Dialog设置一个风格主题(基本都是用这个主题)无边框全透明背景: [html] view plain copy <!--自定义dialog背景全透明无边框theme --> <

自定义一个Dialog样式的Activity窗口,切换到Dialog的方法

首先定义一个style 在style里面添加 <style name="MyDialog" parent="@android:Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name=

Android自定义样式

1.AndroidManifest.xml android:theme="@style/Theme.CustomDialog 样式要用:@style <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fish.hello

拍照保存(调用手机),对话框的自定义样式

主页面布局文件很简单就是一个按钮弹出对话框,一个imageView显示选择的图片. 我给大家提供了下载代码在这个网页:http://download.csdn.net/download/u011348453/7669871 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/r

自定义的dialog

自定义的dialog  其中包含置顶 删除 和取消 下面的是BaseDialog package com.free.csdn.view.dialog; import android.app.Dialog;import android.content.Context; /** * * @author tangqi * @data 2015年8月8日下午4:26:32 */ public class BaseDialog extends Dialog { public BaseDialog(Cont

jquery封装了一个简洁轻巧的可拖动可自定义样式的纯div+css带遮罩层的仿模态弹出框

最近封装上瘾,想起以前做的一个轻巧的弹出框,是样式和脚本分离的,于是重新封装了一下,把样式标签统一到js里了. 里面还有一些问题,但不影响使用,有兴趣的同学,可以参考完善下,有好的建议,请不吝赐教. var PopDialogDefaultConfig = { hasCover: true, //是否带遮罩层 colorOfCover: "#000", //遮罩层颜色 transparencyOfCover: 80, //遮罩层透明度(alpha值,opacity值通过换算得到) bo

WPF DataGrid自定义样式

WPF DataGrid自定义样式 微软的WPF DataGrid中有很多的属性和样式,你可以调整,以寻找合适的(如果你是一名设计师).下面,找到我的小抄造型的网格.它不是100%全面,但它可以让你走得很远,有一些非常有用的技巧和陷阱. 在DataGrid中的最高水平,你可以改变的外观和感觉,通过设置一些: Property Type Values Default AlternatingRowBackground Brush Any Brush Null Background Brush Any