查看原文
其他

一个功能强大的炫酷对话框—让你的项目不再单调

2017-09-09 yilylong 终端研发部


前言介绍

一个快速创建对话框的工具类库

博文地址

http://www.jianshu.com/p/be4afc9e03b3

正文

效果图如下:

特点

  • 支持各种样式的配置

  • 集成了sweet-alert-dialog

  • 集成了Titanic的进度框动画样式

  • 集成了AVLoadingIndicatorView的动画样式

如何使用

  • 引入依赖库

    allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
  • 添加compile

dependencies {        compile 'com.github.yilylong:CBDialog:v1.0.2'}
  • 基本使用方法

new CBDialogBuilder(this).
  setTouchOutSideCancelable
(true).
  showCancelButton
(true).
   setTitle
("这是一个普通样式的对话框").
   setMessage
("this is a normal CBDialog").
   setConfirmButtonText
("确定").
   setCancelButtonText
("取消").
   setDialogAnimation
(CBDialogBuilder.DIALOG_ANIM_SLID_BOTTOM).
   create
().
   show
();
  • 可以传入不同的样式

    CBDialogBuilder.DIALOG_STYLE_NORMAL CBDialogBuilder.DIALOG_STYLE_PROGRESS CBDialogBuilder.DIALOG_STYLE_PROGRESS_TITANIC CBDialogBuilder.DIALOG_STYLE_PROGRESS_AVLOADINGnew CBDialogBuilder(this, CBDialogBuilder.DIALOG_STYLE_PROGRESS_TITANIC).create(); .setTouchOutSideCancelable(true) 设置是否点击对话框以外的区域dismiss对话框   .showCancelButton(true) 是否显示取消按钮 .setDialogAnimation(CBDialogBuilder.DIALOG_ANIM_SLID_BOTTOM) 设置对话框的动画样式 .setDialoglocation(CBDialogBuilder.DIALOG_LOCATION_BOTTOM)  设置对话框位于屏幕的位置 .setButtonClickListener(true, new CBDialogBuilder.onDialogbtnClickListener() { 添加按钮回调监听                        
                            @Override                        public void onDialogbtnClick(Context context, Dialog dialog, int whichBtn) {                            
                                       switch (whichBtn) {                                case BUTTON_CONFIRM:                                    Toast.makeText(context, "点击了确认按钮", Toast.LENGTH_SHORT).show();                                    break;                                case BUTTON_CANCEL:                                    Toast.makeText(context, "点击了取消按钮", Toast.LENGTH_SHORT).show();                                    break;                                default:                                    break;                            }                        }                    })
  • 设置一个列表 和 列表项选中回调监听

    .setItems(new String[]{"较小", "中等", "较大", "巨无霸"}, new CBDialogBuilder.onDialogItemClickListener() {      
          @Override       public void onDialogItemClick(CBDialogBuilder.DialogItemAdapter ItemAdapter,Context context, CBDialogBuilder dialogbuilder,            
               Dialog dialog,int position)
    {        //TODO 保存选中设置            dialog.dismiss();        }     }, 2);
  • 设置一个进度框的超时监听

    .setOnProgressOutTimeListener(5, new CBDialogBuilder.onProgressOutTimeListener() {                        
           @Override      public void onProgressOutTime(Dialog dialog, TextView dialogMsgTextView) {                        
           // do your work      }  })

  • 设置avloading进度框动画样式颜色

    .setProgressIndicatorColor(0xaa198675).setProgressIndicator(CBDialogBuilder.INDICATOR_BallRotate)
  • 设置自定义的dialog布局文件

    在构建的时候传入R.layout.layout_custom_dialog_layout自定义布局文件即可,但是里面的个控件(标题,消息,按钮)的ID要跟cb_dialog.xml 里面一致

    new CBDialogBuilder(this, R.layout.layout_custom_dialog_layout, 1.0f)                    ...                    .create().show();
  • 设置自定义消息布局文件

    .setView(R.layout.custom_msg_view)

 

更多配置方法参考DEMO

项目地址:

https://github.com/yilylong/CBDialog

终端研发部提倡 没有做不到的,只有想不到的

在这里获得的不仅仅是技术!


让心,在阳光下学会舞蹈

让灵魂,在痛苦中学会微笑

—终端研发部—



如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809   

微信公众号:终端研发部


            

这里学到不仅仅是技术

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存