1. 程式人生 > >一個自定義的對話方塊庫

一個自定義的對話方塊庫

一個快速建立對話方塊的工具類庫

How To Useage

in the gradle

compile 'com.zhl.cbdialog:CBDialog:1.0.0'

then

new CBDialogBuilder(this)
.setTouchOutSideCancelable(true)
.showCancelButton(true)
.setTitle("這是一個普通樣式的對話方塊")
.setMessage("this is a normal CBDialog")
.setConfirmButtonText("確定")
.setCancelButtonText("取消")
.setDialogAnimation(CBDialogBuilder.DIALOG_ANIM_SLID_BOTTOM)
.create().show();  
.create() 返回一個 Dialog .show() 顯示對話方塊

可以傳入不同樣式。比如設定顯示的是 titanic 風格的進度框 new 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)