美文网首页UtilsandroidAndroid开发
Android 多种简单的弹出框样式设置

Android 多种简单的弹出框样式设置

作者: jjdxmashl | 来源:发表于2016-11-02 18:00 被阅读27550次

    简介

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

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

    特性

    1.使用链式开发代码简洁明了
    2.所有的弹出框样式都在DialogUIUtils这个类中完成,方便查阅方法
    3.可以自定义弹出框字体样式
    4.简单的类似加载框的样式可以支持两种主题更改默认白色和灰色

    截图










    demo下载

    demo apk下载

    Download or grab via Maven:

    <dependency>
      <groupId>com.dou361.dialogui</groupId>
      <artifactId>jjdxm-dialogui</artifactId>
      <version>x.x.x</version>
    </dependency>
    

    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 class com.dou361.** {
    *;
    }
    

    AndroidStudio代码混淆注意的问题

    快速开始

    step1

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

    DialogUIUtils.init(appContext);
    

    step2

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

    自定义弹出框

    /**
     * 自定义弹出框 默认居中可取消可点击
     *
     * @param context     上下问
     * @param contentView 自定义view
     * @return
     */
    public static BuildBean showCustomAlert(Context context, View contentView)
    
    /**
     * 自定义弹出框 默认可取消可点击
     *
     * @param context     上下文
     * @param contentView 自定义view
     * @param gravity     显示window的位置例如Gravity.center
     * @return
     */
    public static BuildBean showCustomAlert(Context context, View contentView, int gravity)
    
    /***
     * 自定义弹出框
     *
     * @param context          上下文
     * @param contentView      自定义view
     * @param gravity          显示window的位置例如Gravity.center
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @return
     */
    public static BuildBean showCustomAlert(Context context, View contentView, int gravity, boolean cancleable, boolean outsideTouchable)
    

    具体使用

    View rootView = View.inflate(activity, R.layout.custom_dialog_layout, null);
    DialogUIUtils.showCustomAlert(this, rootView).show();
    

    弹出toast

    /**
     * 弹出toast 默认白色背景可取消可点击
     *
     * @param context 上下文
     * @param msg     提示文本
     */
    public static BuildBean showToastTie(Context context, CharSequence msg) 
    
    /**
     * 弹出toast 默认可取消可点击
     *
     * @param context   上下文
     * @param msg       提示文本
     * @param isWhiteBg true为白色背景false为灰色背景
     */
    public static BuildBean showToastTie(Context context, CharSequence msg, boolean isWhiteBg) 
    
    /**
     * 弹出toast
     *
     * @param context          上下文
     * @param msg              提示文本
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param isWhiteBg        true为白色背景false为灰色背景
     */
    public static BuildBean showToastTie(Context context, CharSequence msg, boolean cancleable, boolean outsideTouchable, boolean isWhiteBg)
    

    具体使用

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

    横向加载框

    /**
     * 横向加载框 默认白色背景可取消可点击
     *
     * @param context 上下文
     * @param msg     提示文本
     */
    public static BuildBean showLoadingHorizontal(Context context, CharSequence msg)
    
    /**
     * 横向加载框 默认可取消可点击
     *
     * @param context   上下文
     * @param msg       提示文本
     * @param isWhiteBg true为白色背景false为灰色背景
     */
    public static BuildBean showLoadingHorizontal(Context context, CharSequence msg, boolean isWhiteBg)
    
    /**
     * 横向加载框
     *
     * @param context          上下文
     * @param msg              提示文本
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param isWhiteBg        true为白色背景false为灰色背景
     */
    public static BuildBean showLoadingHorizontal(Context context, CharSequence msg, boolean cancleable, boolean outsideTouchable, boolean isWhiteBg)
    

    具体使用

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

    md风格横向加载框

    /**
     * md风格横向加载框 默认白色背景可取消可点击
     *
     * @param context 上下文
     * @param msg     提示文本
     */
    public static BuildBean showMdLoadingHorizontal(Context context, CharSequence msg)
    
    /**
     * md风格横向加载框 默认可取消可点击
     *
     * @param context   上下文
     * @param msg       提示文本
     * @param isWhiteBg true为白色背景false为灰色背景
     */
    public static BuildBean showMdLoadingHorizontal(Context context, CharSequence msg, boolean isWhiteBg) 
    
    /**
     * md风格横向加载框
     *
     * @param context          上下文
     * @param msg              提示文本
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param isWhiteBg        true为白色背景false为灰色背景
     */
    public static BuildBean showMdLoadingHorizontal(Context context, CharSequence msg, boolean cancleable, boolean outsideTouchable, boolean isWhiteBg) 
    

    具体使用

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

    竖向加载框

    /**
     * 竖向加载框  默认白色背景可取消可点击
     *
     * @param context 上下文
     * @param msg     提示文本
     */
    public static BuildBean showLoadingVertical(Context context, CharSequence msg) 
    
    /**
     * 竖向加载框 默认可取消可点击
     *
     * @param context   上下文
     * @param msg       提示文本
     * @param isWhiteBg true为白色背景false为灰色背景
     */
    public static BuildBean showLoadingVertical(Context context, CharSequence msg, boolean isWhiteBg) 
    
    /**
     * 竖向加载框
     *
     * @param context          上下文
     * @param msg              提示文本
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param isWhiteBg        true为白色背景false为灰色背景
     */
    public static BuildBean showLoadingVertical(Context context, CharSequence msg, boolean cancleable, boolean outsideTouchable, boolean isWhiteBg) 
    

    具体使用

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

    md风格竖向加载框

    /**
     * md风格竖向加载框  默认白色背景可取消可点击
     *
     * @param context 上下文
     * @param msg     提示文本
     */
    public static BuildBean showMdLoadingVertical(Context context, CharSequence msg)
    
    /**
     * md风格竖向加载框 默认可取消可点击
     *
     * @param context   上下文
     * @param msg       提示文本
     * @param isWhiteBg true为白色背景false为灰色背景
     */
    public static BuildBean showMdLoadingVertical(Context context, CharSequence msg, boolean isWhiteBg)
    
    /**
     * md风格竖向加载框
     *
     * @param context          上下文
     * @param msg              提示文本
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param isWhiteBg        true为白色背景false为灰色背景
     */
    public static BuildBean showMdLoadingVertical(Context context, CharSequence msg, boolean cancleable, boolean outsideTouchable, boolean isWhiteBg)
    

    具体使用

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

    md风格弹出框

    /***
     * md风格弹出框 默认可取消可点击
     *
     * @param activity 所在activity
     * @param title    标题 不传则无标题
     * @param msg      消息
     * @param listener 事件监听
     * @return
     */
    public static BuildBean 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
     */
    public static BuildBean showMdAlert(Activity activity, CharSequence title, CharSequence msg, boolean cancleable, boolean outsideTouchable, DialogUIListener listener)
    

    具体使用

    DialogUIUtils.showMdAlert(activity, "标题", "文本内容", new DialogUIListener() {
                    @Override
                    public void onPositive() {
                        
                    }
    
                    @Override
                    public void onNegative() {
                        
                    }
    
                }).show();
    

    md风格多选框

    /**
     * md风格多选框  默认可取消可点击
     *
     * @param activity     所在activity
     * @param title        标题 不传则无标题
     * @param words        消息数组
     * @param checkedItems 默认选中项
     * @param listener     事件监听
     */
    public static BuildBean 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
     */
    public static BuildBean showMdMultiChoose(Activity activity, CharSequence title, CharSequence[] words, boolean[] checkedItems, boolean cancleable, boolean outsideTouchable, DialogUIListener listener)
    

    具体使用

    String[] words = new String[]{"1", "2", "3"};
                boolean[] choseDefault = new boolean[]{false, false, false};
                DialogUIUtils.showMdMultiChoose(activity, "标题", words, choseDefault, new DialogUIListener() {
                    @Override
                    public void onPositive() {
    
                    }
    
                    @Override
                    public void onNegative() {
    
                    }
                }).show();
    

    单选框

    /**
     * 单选框  默认可取消可点击
     *
     * @param activity      所在activity
     * @param title         标题 不传则无标题
     * @param defaultChosen 默认选中项
     * @param words         消息数组
     * @param listener      事件监听
     */
    public static BuildBean showSingleChoose(Activity activity, CharSequence title, int defaultChosen, CharSequence[] words, DialogUIItemListener listener) 
    
    /**
     * 单选框
     *
     * @param activity         所在activity
     * @param title            标题 不传则无标题
     * @param defaultChosen    默认选中项
     * @param words            消息数组
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param listener         事件监听
     */
    public static BuildBean showSingleChoose(Activity activity, CharSequence title, int defaultChosen, CharSequence[] words, boolean cancleable, boolean outsideTouchable, DialogUIItemListener listener) 
    

    具体使用

    String[] words2 = new String[]{"1", "2", "3"};
                    DialogUIUtils.showSingleChoose(activity, "单选", 0, words2, new DialogUIItemListener() {
                        @Override
                        public void onItemClick(CharSequence text, int position) {
                            showToast(text + "--" + position);
                        }
                    }).show();
    

    提示弹出框

    /**
     * 提示弹出框 默认可取消可点击
     *
     * @param activity 所在activity
     * @param title    标题 不传则无标题
     * @param listener 事件监听
     */
    public static BuildBean showAlert(Activity activity, CharSequence title, CharSequence msg, DialogUIListener listener)
    
    /**
     * 提示弹出框
     *
     * @param activity         所在activity
     * @param title            标题 不传则无标题
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param listener         事件监听
     */
    public static BuildBean showAlert(Activity activity, CharSequence title, CharSequence msg, boolean cancleable, boolean outsideTouchable, DialogUIListener listener)
    

    具体使用

    DialogUIUtils.showAlert(activity, "标题", "文本内容", new DialogUIListener() {
                    @Override
                    public void onPositive() {
                        
                    }
    
                    @Override
                    public void onNegative() {
                        
                    }
    
                }).show();
    

    横向弹出框

    /**
     * 横向弹出框  默认可取消可点击
     *
     * @param activity 所在activity
     * @param title    标题 不传则无标题
     * @param msg      消息
     * @param listener 事件监听
     */
    public static BuildBean 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         事件监听
     */
    public static BuildBean showAlertHorizontal(Context activity, CharSequence title, CharSequence msg, boolean cancleable, boolean outsideTouchable, DialogUIListener listener)
    

    具体使用

    DialogUIUtils.showAlertHorizontal(activity, "标题", "文本内容", new DialogUIListener() {
                    @Override
                    public void onPositive() {
                        
                    }
    
                    @Override
                    public void onNegative() {
                        
                    }
    
                }).show();
    

    竖向弹出框

    /**
     * 竖向弹出框  默认可取消可点击
     *
     * @param activity 所在activity
     * @param title    标题 不传则无标题
     * @param msg      消息
     * @param listener 事件监听
     */
    public static BuildBean 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         事件监听
     */
    public static BuildBean showAlertVertical(Context activity, CharSequence title, CharSequence msg, boolean cancleable, boolean outsideTouchable, DialogUIListener listener)
    

    具体使用

    DialogUIUtils.showAlertVertical(activity, "标题", "文本内容", new DialogUIListener() {
                    @Override
                    public void onPositive() {
                        
                    }
    
                    @Override
                    public void onNegative() {
                        
                    }
    
                }).show();
    

    中间弹出列表

    /**
     * 中间弹出列表 默认可取消可点击
     *
     * @param context  上下文
     * @param words    素组集合
     * @param listener 事件监听
     * @return
     */
    public static BuildBean showCenterSheet(Context context, List<? extends CharSequence> words, DialogUIItemListener listener)
    
    /***
     * 中间弹出列表
     *
     * @param context          上下文
     * @param words            素组集合
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param listener         事件监听
     * @return
     */
    public static BuildBean showCenterSheet(Context context, List<? extends CharSequence> words, boolean cancleable, boolean outsideTouchable, DialogUIItemListener listener)
    

    具体使用

    List<String> strings = new ArrayList<>();
                strings.add("1");
                strings.add("2");
                strings.add("3");
                DialogUIUtils.showCenterSheet(activity, strings, new DialogUIItemListener() {
                    @Override
                    public void onItemClick(CharSequence text, int position) {
                    }
    
                    @Override
                    public void onBottomBtnClick() {
                    }
                }).show();
    

    带取消的底部弹出列表

    /**
     * 带取消的底部弹出列表 默认可取消可点击
     *
     * @param context   上下文
     * @param words     素组集合
     * @param bottomTxt 底部按钮文本
     * @param listener  事件监听
     * @return
     */
    public static BuildBean showBottomSheetAndCancel(Context context, List<? extends CharSequence> words, CharSequence bottomTxt, DialogUIItemListener listener)
    
    /***
     * 带取消的底部弹出列表
     *
     * @param context          上下文
     * @param words            素组集合
     * @param bottomTxt        底部按钮文本
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param listener         事件监听
     * @return
     */
    public static BuildBean showBottomSheetAndCancel(Context context, List<? extends CharSequence> words, CharSequence bottomTxt, boolean cancleable, boolean outsideTouchable, DialogUIItemListener listener) 
    

    具体使用

    List<String> strings = new ArrayList<>();
                strings.add("1");
                strings.add("2");
                strings.add("3");
                DialogUIUtils.showBottomSheetAndCancel(activity, strings, "取消", new DialogUIItemListener() {
                    @Override
                    public void onItemClick(CharSequence text, int position) {
                    }
    
                    @Override
                    public void onBottomBtnClick() {
                    }
                }).show();
    

    底部弹出列表

    /**
     * 底部弹出列表 默认可取消可点击
     *
     * @param context  上下文
     * @param datas    集合需要BottomSheetBean对象
     * @param listener 事件监听
     * @return
     */
    public static BuildBean showBottomSheet(Activity context, List datas, DialogUIItemListener listener)
    
    /***
     * 底部弹出列表
     *
     * @param context          上下文
     * @param datas            集合需要BottomSheetBean对象
     * @param cancleable       true为可以取消false为不可取消
     * @param outsideTouchable true为可以点击空白区域false为不可点击
     * @param listener         事件监听
     * @return
     */
    public static BuildBean showBottomSheet(Activity context, List datas, boolean cancleable, boolean outsideTouchable, DialogUIItemListener listener)
    

    具体使用

    List<BottomSheetBean> datass = new ArrayList<>();
                datass.add(new BottomSheetBean(0, "1"));
                datass.add(new BottomSheetBean(0, "2"));
                datass.add(new BottomSheetBean(0, "3"));
                DialogUIUtils.showBottomSheet(this, datass, new DialogUIItemListener() {
                    @Override
                    public void onItemClick(CharSequence text, int position) {
    
                    }
                }).show();
    

    输入框

    /**
     * 输入框 默认可取消可点击
     *
     * @param context   上下文
     * @param title     标题
     * @param hint1     第一个文本框提示语
     * @param hint2     第二个文本框提示语
     * @param firstTxt  第一个按钮文本
     * @param secondTxt 第二个按钮文本
     * @param listener  事件监听
     * @return
     */
    public static BuildBean 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
     */
    public static BuildBean showAlertInput(Context context, CharSequence title, CharSequence hint1, CharSequence hint2, CharSequence firstTxt, CharSequence secondTxt, boolean cancleable, boolean outsideTouchable, DialogUIListener listener)
    

    具体使用

    DialogUIUtils.showAlertInput(activity, "登录", "请输入用户名", "请输入密码", "登录", "取消", new DialogUIListener() {
                    @Override
                    public void onPositive() {
    
                    }
    
                    @Override
                    public void onNegative() {
    
                    }
    
                    @Override
                    public void onGetInput(CharSequence input1, CharSequence input2) {
                    }
                }).show();
    

    md风格竖向底部弹出列表

    /**
     * md风格竖向底部弹出列表 默认可取消可点击
     *
     * @param context   上下文
     * @param title     标题
     * @param datas     集合需要BottomSheetBean对象
     * @param bottomTxt 底部item文本
     * @param listener  事件监听
     * @return
     */
    public static BuildBean 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
     */
    public static BuildBean showMdBottomSheetVertical(Context context, CharSequence title, List datas, CharSequence bottomTxt, boolean cancleable, boolean outsideTouchable, DialogUIItemListener listener) 
    

    具体使用

    List<BottomSheetBean> datass = new ArrayList<>();
                datass.add(new BottomSheetBean(0, "1"));
                datass.add(new BottomSheetBean(0, "2"));
                datass.add(new BottomSheetBean(0, "3"));
                DialogUIUtils.showMdBottomSheetVertical(this, datass, new DialogUIItemListener() {
                    @Override
                    public void onItemClick(CharSequence text, int position) {
    
                    }
                }).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
     */
    public static BuildBean showMdBottomSheetHorizontal(Context context, CharSequence title, List datas, CharSequence bottomTxt, int columnsNum, 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
     */
    public static BuildBean showMdBottomSheetHorizontal(Context context, CharSequence title, List datas, CharSequence bottomTxt, int columnsNum, boolean cancleable, boolean outsideTouchable, DialogUIItemListener listener)
    

    具体使用

    List<BottomSheetBean> datass = new ArrayList<>();
                datass.add(new BottomSheetBean(0, "1"));
                datass.add(new BottomSheetBean(0, "2"));
                datass.add(new BottomSheetBean(0, "3"));
                DialogUIUtils.showMdBottomSheetHorizontal(this, datass, new DialogUIItemListener() {
                    @Override
                    public void onItemClick(CharSequence text, int position) {
    
                    }
                }).show();
    

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

    相关文章

      网友评论

      • 许萧峰:自定义弹出框,我加了个按钮,这个按钮的点击事件如何把当前的自定义弹出框关闭呢?
      • e9e1461f9188:showMdMultiChoose多选时候 回调onPositive()方法里 如何获取选择的数据? 空参啊
      • 317d0becac9a:在网络请求时,请求中需要加载,请求成功需要dismiss,我是用类名.dismiss,这样做取消不了,正确的方式应该是怎么做?!谢谢!
        c35439420823:@A_c412 请问你是怎么解决的?
        317d0becac9a:谢谢,自己解决了,dismiss需要传入一个dailog,之前没有传,所以没有dismiss
      • 颍川豫才:看着不错,新手学习,求项目源码,非常感谢!547013892@qq.com
      • 南宫轩涵:底部弹出时,为何标题栏颜色换成蓝色?能换成我主题颜色吗?
      • 3c8094385091:为什么导入到我的项目中后 运行了没效果
      • 857f22027472:感觉是使用说明书
      • 40f614d9bb95:底部 弹出的集合那块不行,要是我换Text颜色呢? 不知道怎么改
      • 40f614d9bb95:所有图放在最前,后面等看代码的时候想效果有点吃力。。
      • 命若弦_T:有加ListView的么
      • hgncxzy:文章总结的非常好,受益匪浅,想问一下,文中的截图动画是用什么工具实现的,我觉得十分实用,麻烦告知
        hgncxzy:@jjdxmashl 3q
        jjdxmashl:@arthinking 我用的是licecap,你可以搜索下
      • b6c7a3ded5ff:能自定义样式吗?
        b6c7a3ded5ff:@jjdxmashl :smile:
        jjdxmashl: @dyhuang 可以自定义字体样式,或者自定义布局,自定义布局的开放度高所以事件需要自己去实现,文章开头就是自定义的,其他需求建议复制源码直接修改
      • sendtion:很棒的效果
      • 码农也很帅: 为什么不能取消?
        40f614d9bb95:有些方法参数传递进去可以取消的!
        jjdxmashl: @04e68cf35de1 可以取消啊
      • 波波一起飞:库是很好的库

      本文标题:Android 多种简单的弹出框样式设置

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