美文网首页
2018-01-09多种简单的弹出框样式设置

2018-01-09多种简单的弹出框样式设置

作者: 王培921223 | 来源:发表于2018-01-09 10:30 被阅读0次

    这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式,其中提供各种简单样式的弹出框使用说明。同时也可自定义弹出框。

    项目地址:https://www.github.com/jjdxmashl/jjdxm_dialogui

    特性

    1.使用链式开发代码简洁明了

    2.所有的弹出框样式都在DialogUIUtils这个类中完成,方便查阅方法

    3.可以自定义弹出框字体样式

    4.简单的类似加载框的样式可以支持两种主题更改默认白色和灰色

    截图

    demo下载

    demo apk下载

    Download or grab via Maven:

      com.dou361.dialogui jjdxm-dialoguix.x.x

    or Gradle:compile 'com.dou361.dialogui:jjdxm-dialogui:x.x.x'

    历史版本:

    compile 'com.dou361.dialogui:jjdxm-dialogui:1.0.1'

    compile 'com.dou361.dialogui:jjdxm-dialogui:1.0.0'

    jjdxm-dialogui requires at minimum Java 9 or Android 2.3.

    架包的打包引用以及冲突解决

    代码混淆

    根据你的混淆器配置和使用,您可能需要在你的proguard文件内配置以下内容:

    -keep classcom.dou361.** {

    *;

    }

    AndroidStudio代码混淆注意的问题

    快速开始

    step1

    如果需要使用toast类,采用单例模式的,多次调用toast后只会显示一个,需要初始化DialogUIUtils类,否则会抛异常,使用前初始化即可,代码如下

    DialogUIUtils.init(appContext);

    step2

    如果不需要使用toast类,可以不操作step1,直接使用相对于的弹出框即可。以下分别是部分弹出框的调用代码案例。

    自定义弹出框

    /**

     * 自定义弹出框 默认居中可取消可点击

     *

     * @param context     上下问

     * @param contentView 自定义view

     * @return

     */

    publicstaticBuildBean showCustomAlert(Context context, View contentView)

    /**

     * 自定义弹出框 默认可取消可点击

     *

     * @param context     上下文

     * @param contentView 自定义view

     * @param gravity     显示window的位置例如Gravity.center

     * @return

     */

    publicstaticBuildBean showCustomAlert(Context context, View contentView, intgravity)

    /***

     * 自定义弹出框

     *

     * @param context          上下文

     * @param contentView      自定义view

     * @param gravity          显示window的位置例如Gravity.center

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @return

     */

    publicstaticBuildBean showCustomAlert(Context context, View contentView, intgravity, booleancancleable, booleanoutsideTouchable)

    具体使用

    View rootView = View.inflate(activity, R.layout.custom_dialog_layout, null);

    DialogUIUtils.showCustomAlert(this, rootView).show();

    弹出toast

    /**

     * 弹出toast 默认白色背景可取消可点击

     *

     * @param context 上下文

     * @param msg     提示文本

     */

    publicstaticBuildBean showToastTie(Context context, CharSequence msg)

    /**

     * 弹出toast 默认可取消可点击

     *

     * @param context   上下文

     * @param msg       提示文本

     * @param isWhiteBg true为白色背景false为灰色背景

     */

    publicstaticBuildBean showToastTie(Context context, CharSequence msg, booleanisWhiteBg)

    /**

     * 弹出toast

     *

     * @param context          上下文

     * @param msg              提示文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param isWhiteBg        true为白色背景false为灰色背景

     */

    publicstaticBuildBean showToastTie(Context context, CharSequence msg, booleancancleable, booleanoutsideTouchable, booleanisWhiteBg)

    具体使用

    DialogUIUtils.showToastTie(this, "加载中...").show();

    横向加载框

    /**

     * 横向加载框 默认白色背景可取消可点击

     *

     * @param context 上下文

     * @param msg     提示文本

     */

    publicstaticBuildBean showLoadingHorizontal(Context context, CharSequence msg)

    /**

     * 横向加载框 默认可取消可点击

     *

     * @param context   上下文

     * @param msg       提示文本

     * @param isWhiteBg true为白色背景false为灰色背景

     */

    publicstaticBuildBean showLoadingHorizontal(Context context, CharSequence msg, booleanisWhiteBg)

    /**

     * 横向加载框

     *

     * @param context          上下文

     * @param msg              提示文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param isWhiteBg        true为白色背景false为灰色背景

     */

    publicstaticBuildBean showLoadingHorizontal(Context context, CharSequence msg, booleancancleable, booleanoutsideTouchable, booleanisWhiteBg)

    具体使用

    DialogUIUtils.showLoadingHorizontal(this, "加载中...").show();

    md风格横向加载框

    /**

     * md风格横向加载框 默认白色背景可取消可点击

     *

     * @param context 上下文

     * @param msg     提示文本

     */

    publicstaticBuildBean showMdLoadingHorizontal(Context context, CharSequence msg)

    /**

     * md风格横向加载框 默认可取消可点击

     *

     * @param context   上下文

     * @param msg       提示文本

     * @param isWhiteBg true为白色背景false为灰色背景

     */

    publicstaticBuildBean showMdLoadingHorizontal(Context context, CharSequence msg, booleanisWhiteBg)

    /**

     * md风格横向加载框

     *

     * @param context          上下文

     * @param msg              提示文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param isWhiteBg        true为白色背景false为灰色背景

     */

    publicstaticBuildBean showMdLoadingHorizontal(Context context, CharSequence msg, booleancancleable, booleanoutsideTouchable, booleanisWhiteBg)

    具体使用

    DialogUIUtils.showMdLoadingHorizontal(this, "加载中...").show();

    竖向加载框

    /**

     * 竖向加载框  默认白色背景可取消可点击

     *

     * @param context 上下文

     * @param msg     提示文本

     */

    publicstaticBuildBean showLoadingVertical(Context context, CharSequence msg)

    /**

     * 竖向加载框 默认可取消可点击

     *

     * @param context   上下文

     * @param msg       提示文本

     * @param isWhiteBg true为白色背景false为灰色背景

     */

    publicstaticBuildBean showLoadingVertical(Context context, CharSequence msg, booleanisWhiteBg)

    /**

     * 竖向加载框

     *

     * @param context          上下文

     * @param msg              提示文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param isWhiteBg        true为白色背景false为灰色背景

     */

    publicstaticBuildBean showLoadingVertical(Context context, CharSequence msg, booleancancleable, booleanoutsideTouchable, booleanisWhiteBg)

    具体使用

    ?

    1DialogUIUtils.showLoadingVertical(this, "加载中...").show();

    md风格竖向加载框

    /**

     * md风格竖向加载框  默认白色背景可取消可点击

     *

     * @param context 上下文

     * @param msg     提示文本

     */

    publicstaticBuildBean showMdLoadingVertical(Context context, CharSequence msg)

    /**

     * md风格竖向加载框 默认可取消可点击

     *

     * @param context   上下文

     * @param msg       提示文本

     * @param isWhiteBg true为白色背景false为灰色背景

     */

    publicstaticBuildBean showMdLoadingVertical(Context context, CharSequence msg, booleanisWhiteBg)

    /**

     * md风格竖向加载框

     *

     * @param context          上下文

     * @param msg              提示文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param isWhiteBg        true为白色背景false为灰色背景

     */

    publicstaticBuildBean showMdLoadingVertical(Context context, CharSequence msg, booleancancleable, booleanoutsideTouchable, booleanisWhiteBg)

    具体使用

    DialogUIUtils.showMdLoadingVertical(this, "加载中...").show();

    md风格弹出框

    /***

     * md风格弹出框 默认可取消可点击

     *

     * @param activity 所在activity

     * @param title    标题 不传则无标题

     * @param msg      消息

     * @param listener 事件监听

     * @return

     */

    publicstaticBuildBean showMdAlert(Activity activity, CharSequence title, CharSequence msg, DialogUIListener listener)

    /***

     * md风格弹出框

     *

     * @param activity         所在activity

     * @param title            标题 不传则无标题

     * @param msg              消息

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showMdAlert(Activity activity, CharSequence title, CharSequence msg, booleancancleable, booleanoutsideTouchable, DialogUIListener listener)

    具体使用

    DialogUIUtils.showMdAlert(activity, "标题", "文本内容", newDialogUIListener() {

                    @Override

                    publicvoidonPositive() {

                    }

                    @Override

                    publicvoidonNegative() {

                    }

                }).show();

    md风格多选框

    /**

     * md风格多选框  默认可取消可点击

     *

     * @param activity     所在activity

     * @param title        标题 不传则无标题

     * @param words        消息数组

     * @param checkedItems 默认选中项

     * @param listener     事件监听

     */

    publicstaticBuildBean showMdMultiChoose(Activity activity, CharSequence title, CharSequence[] words, boolean[] checkedItems, DialogUIListener listener)

    /***

     * md风格多选框

     *

     * @param activity         所在activity

     * @param title            标题 不传则无标题

     * @param words            消息数组

     * @param checkedItems     默认选中项

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showMdMultiChoose(Activity activity, CharSequence title, CharSequence[] words, boolean[] checkedItems, booleancancleable, booleanoutsideTouchable, DialogUIListener listener)

    具体使用

    String[] words = newString[]{"1", "2", "3"};

                boolean[] choseDefault = newboolean[]{false, false, false};

                DialogUIUtils.showMdMultiChoose(activity, "标题", words, choseDefault, newDialogUIListener() {

                    @Override

                    publicvoidonPositive() {

                    }

                    @Override

                    publicvoidonNegative() {

                    }

                }).show();

    单选框

    /**

     * 单选框  默认可取消可点击

     *

     * @param activity      所在activity

     * @param title         标题 不传则无标题

     * @param defaultChosen 默认选中项

     * @param words         消息数组

     * @param listener      事件监听

     */

    publicstaticBuildBean showSingleChoose(Activity activity, CharSequence title, intdefaultChosen, CharSequence[] words, DialogUIItemListener listener)

    /**

     * 单选框

     *

     * @param activity         所在activity

     * @param title            标题 不传则无标题

     * @param defaultChosen    默认选中项

     * @param words            消息数组

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     */

    publicstaticBuildBean showSingleChoose(Activity activity, CharSequence title, intdefaultChosen, CharSequence[] words, booleancancleable, booleanoutsideTouchable, DialogUIItemListener listener)

    具体使用

    String[] words2 = newString[]{"1", "2", "3"};

                    DialogUIUtils.showSingleChoose(activity, "单选", 0, words2, newDialogUIItemListener() {

                        @Override

                        publicvoidonItemClick(CharSequence text, intposition) {

                            showToast(text + "--"+ position);

                        }

                    }).show();

    提示弹出框

    /**

     * 提示弹出框 默认可取消可点击

     *

     * @param activity 所在activity

     * @param title    标题 不传则无标题

     * @param listener 事件监听

     */

    publicstaticBuildBean showAlert(Activity activity, CharSequence title, CharSequence msg, DialogUIListener listener)

    /**

     * 提示弹出框

     *

     * @param activity         所在activity

     * @param title            标题 不传则无标题

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     */

    publicstaticBuildBean showAlert(Activity activity, CharSequence title, CharSequence msg, booleancancleable, booleanoutsideTouchable, DialogUIListener listener)

    具体使用

    DialogUIUtils.showAlert(activity, "标题", "文本内容", newDialogUIListener() {

                    @Override

                    publicvoidonPositive() {

                    }

                    @Override

                    publicvoidonNegative() {

                    }

                }).show();

    横向弹出框

    /**

     * 横向弹出框  默认可取消可点击

     *

     * @param activity 所在activity

     * @param title    标题 不传则无标题

     * @param msg      消息

     * @param listener 事件监听

     */

    publicstaticBuildBean showAlertHorizontal(Context activity, CharSequence title, CharSequence msg, DialogUIListener listener)

    /**

     * 横向弹出框

     *

     * @param activity         所在activity

     * @param title            标题 不传则无标题

     * @param msg              消息

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     */

    publicstaticBuildBean showAlertHorizontal(Context activity, CharSequence title, CharSequence msg, booleancancleable, booleanoutsideTouchable, DialogUIListener listener)

    具体使用

    DialogUIUtils.showAlertHorizontal(activity, "标题", "文本内容", newDialogUIListener() {

                    @Override

                    publicvoidonPositive() {

                    }

                    @Override

                    publicvoidonNegative() {

                    }

                }).show();

    竖向弹出框

    /**

     * 竖向弹出框  默认可取消可点击

     *

     * @param activity 所在activity

     * @param title    标题 不传则无标题

     * @param msg      消息

     * @param listener 事件监听

     */

    publicstaticBuildBean showAlertVertical(Context activity, CharSequence title, CharSequence msg, DialogUIListener listener)

    /**

     * 竖向弹出框

     *

     * @param activity         所在activity

     * @param title            标题 不传则无标题

     * @param msg              消息

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     */

    publicstaticBuildBean showAlertVertical(Context activity, CharSequence title, CharSequence msg, booleancancleable, booleanoutsideTouchable, DialogUIListener listener)

    具体使用

    DialogUIUtils.showAlertVertical(activity, "标题", "文本内容", newDialogUIListener() {

                    @Override

                    publicvoidonPositive() {

                    }

                    @Override

                    publicvoidonNegative() {

                    }

                }).show();

    中间弹出列表

    /**

     * 中间弹出列表 默认可取消可点击

     *

     * @param context  上下文

     * @param words    素组集合

     * @param listener 事件监听

     * @return

     */

    publicstaticBuildBean showCenterSheet(Context context, List words, DialogUIItemListener listener)

    /***

     * 中间弹出列表

     *

     * @param context          上下文

     * @param words            素组集合

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showCenterSheet(Context context, List words, booleancancleable, booleanoutsideTouchable, DialogUIItemListener listener)

    具体使用

    List strings = newArrayList<>();

                strings.add("1");

                strings.add("2");

                strings.add("3");

                DialogUIUtils.showCenterSheet(activity, strings, newDialogUIItemListener() {

                    @Override

                    publicvoidonItemClick(CharSequence text, intposition) {

                    }

                    @Override

                    publicvoidonBottomBtnClick() {

                    }

                }).show();

    带取消的底部弹出列表

    /**

     * 带取消的底部弹出列表 默认可取消可点击

     *

     * @param context   上下文

     * @param words     素组集合

     * @param bottomTxt 底部按钮文本

     * @param listener  事件监听

     * @return

     */

    publicstaticBuildBean showBottomSheetAndCancel(Context context, List words, CharSequence bottomTxt, DialogUIItemListener listener)

    /***

     * 带取消的底部弹出列表

     *

     * @param context          上下文

     * @param words            素组集合

     * @param bottomTxt        底部按钮文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showBottomSheetAndCancel(Context context, List words, CharSequence bottomTxt, booleancancleable, booleanoutsideTouchable, DialogUIItemListener listener)

    具体使用

    List strings = newArrayList<>();

                strings.add("1");

                strings.add("2");

                strings.add("3");

                DialogUIUtils.showBottomSheetAndCancel(activity, strings, "取消", newDialogUIItemListener() {

                    @Override

                    publicvoidonItemClick(CharSequence text, intposition) {

                    }

                    @Override

                    publicvoidonBottomBtnClick() {

                    }

                }).show();

    底部弹出列表

    /**

     * 底部弹出列表 默认可取消可点击

     *

     * @param context  上下文

     * @param datas    集合需要BottomSheetBean对象

     * @param listener 事件监听

     * @return

     */

    publicstaticBuildBean showBottomSheet(Activity context, List datas, DialogUIItemListener listener)

    /***

     * 底部弹出列表

     *

     * @param context          上下文

     * @param datas            集合需要BottomSheetBean对象

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showBottomSheet(Activity context, List datas, booleancancleable, booleanoutsideTouchable, DialogUIItemListener listener)

    具体使用

    List datass = newArrayList<>();

                datass.add(newBottomSheetBean(0, "1"));

                datass.add(newBottomSheetBean(0, "2"));

                datass.add(newBottomSheetBean(0, "3"));

                DialogUIUtils.showBottomSheet(this, datass, newDialogUIItemListener() {

                    @Override

                    publicvoidonItemClick(CharSequence text, intposition) {

                    }

                }).show();

    输入框

    /**

     * 输入框 默认可取消可点击

     *

     * @param context   上下文

     * @param title     标题

     * @param hint1     第一个文本框提示语

     * @param hint2     第二个文本框提示语

     * @param firstTxt  第一个按钮文本

     * @param secondTxt 第二个按钮文本

     * @param listener  事件监听

     * @return

     */

    publicstaticBuildBean showAlertInput(Context context, CharSequence title, CharSequence hint1, CharSequence hint2, CharSequence firstTxt, CharSequence secondTxt, DialogUIListener listener)

    /***

     * 输入框

     *

     * @param context          上下文

     * @param title            标题

     * @param hint1            第一个文本框提示语

     * @param hint2            第二个文本框提示语

     * @param firstTxt         第一个按钮文本

     * @param secondTxt        第二个按钮文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showAlertInput(Context context, CharSequence title, CharSequence hint1, CharSequence hint2, CharSequence firstTxt, CharSequence secondTxt, booleancancleable, booleanoutsideTouchable, DialogUIListener listener)

    具体使用

    DialogUIUtils.showAlertInput(activity, "登录", "请输入用户名", "请输入密码", "登录", "取消", newDialogUIListener() {

                    @Override

                    publicvoidonPositive() {

                    }

                    @Override

                    publicvoidonNegative() {

                    }

                    @Override

                    publicvoidonGetInput(CharSequence input1, CharSequence input2) {

                    }

                }).show();

    md风格竖向底部弹出列表

    /**

     * md风格竖向底部弹出列表 默认可取消可点击

     *

     * @param context   上下文

     * @param title     标题

     * @param datas     集合需要BottomSheetBean对象

     * @param bottomTxt 底部item文本

     * @param listener  事件监听

     * @return

     */

    publicstaticBuildBean showMdBottomSheetVertical(Context context, CharSequence title, List datas, CharSequence bottomTxt, DialogUIItemListener listener)

    /***

     * md风格竖向底部弹出列表

     *

     * @param context          上下文

     * @param title            标题

     * @param datas            集合需要BottomSheetBean对象

     * @param bottomTxt        底部item文本

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showMdBottomSheetVertical(Context context, CharSequence title, List datas, CharSequence bottomTxt, booleancancleable, booleanoutsideTouchable, DialogUIItemListener listener)

    具体使用

    List datass = newArrayList<>();

                datass.add(newBottomSheetBean(0, "1"));

                datass.add(newBottomSheetBean(0, "2"));

                datass.add(newBottomSheetBean(0, "3"));

                DialogUIUtils.showMdBottomSheetVertical(this, datass, newDialogUIItemListener() {

                    @Override

                    publicvoidonItemClick(CharSequence text, intposition) {

                    }

                }).show();

    md风格横向底部弹出列表

    /**

     * md风格横向底部弹出列表 默认可取消可点击

     *

     * @param context          上下文

     * @param title            标题

     * @param datas            集合需要BottomSheetBean对象

     * @param bottomTxt        底部item文本

     * @param columnsNum       列数量

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showMdBottomSheetHorizontal(Context context, CharSequence title, List datas, CharSequence bottomTxt, intcolumnsNum, DialogUIItemListener listener)

    /***

     * md风格横向底部弹出列表

     *

     * @param context          上下文

     * @param title            标题

     * @param datas            集合需要BottomSheetBean对象

     * @param bottomTxt        底部item文本

     * @param columnsNum       列数量

     * @param cancleable       true为可以取消false为不可取消

     * @param outsideTouchable true为可以点击空白区域false为不可点击

     * @param listener         事件监听

     * @return

     */

    publicstaticBuildBean showMdBottomSheetHorizontal(Context context, CharSequence title, List datas, CharSequence bottomTxt, intcolumnsNum, booleancancleable, booleanoutsideTouchable, DialogUIItemListener listener)

    具体使用

    List datass = newArrayList<>();

                datass.add(newBottomSheetBean(0, "1"));

                datass.add(newBottomSheetBean(0, "2"));

                datass.add(newBottomSheetBean(0, "3"));

                DialogUIUtils.showMdBottomSheetHorizontal(this, datass, newDialogUIItemListener() {

                    @Override

                    publicvoidonItemClick(CharSequence text, intposition) {

                    }

                }).show();

    相关文章

      网友评论

          本文标题:2018-01-09多种简单的弹出框样式设置

          本文链接:https://www.haomeiwen.com/subject/pglwnxtx.html