1. 程式人生 > >CommonListDiaLogs 統一dialog 彈出框

CommonListDiaLogs 統一dialog 彈出框

CommonListDiaLogs統一通用彈出框

由於每次寫dialog都要寫很多重複程式碼,因此簡單的封裝了一個CommonListDiaLogs,封裝了一些常用方法,使用Builder模式實現:

展示效果:

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

使用方式:

Add the dependency to your build.gradle.

dependencies {
    implementation 'com.github.Johnjson:CommonListDiaLogs:v1.0.5'
}

更新日誌

v1.0.5:

             * showLoading彈出框
             */
            public
void showLoadingDialog(final Context context) { // if (null == mLoadingDialog) { mLoadingDialog = new LoadingDialog(context); mLoadingDialog.setTouchCanceled(true); mLoadingDialog.show(); // } }

v1.0.2:

        new BottomListDialog.Builder(context).
                addMenuListItem(mList, new OnClickPositionListener() {
                    @Override
                    public void onClickPosition(int position) {
                        Toast.makeText(context, "點選第幾個位置    " + position, Toast.LENGTH_LONG).show();
                    }
                }).show();
    }
        new BottomListDialog.Builder(context).
                addMenuItem(new BottomListDialog.BottomListMenuItem("張三", new OnClickPositionListener() {
                    @Override
                    public void onClickPosition(int position) {
                        Toast.makeText(context, "點選第幾個位置    " + position, Toast.LENGTH_LONG).show();
                    }
                },color,size)).
                addMenuItem(new BottomListDialog.BottomListMenuItem("李四", new OnClickPositionListener() {
                    @Override
                    public void onClickPosition(int position) {
                        Toast.makeText(context, "點選第幾個位置    " + position, Toast.LENGTH_LONG).show();
                    }
                },color,size)).
                show();
    }
        new MiddleListDialog.Builder(context).
                addMenuListItem(mList, new OnClickPositionListener() {
                    @Override
                    public void onClickPosition(int position) {
                        Toast.makeText(context, "點選第幾個位置    " + position, Toast.LENGTH_LONG).show();
                    }
                }).show();
    }
        new MiddleListDialog.Builder(context).
                addMenuItem(new MiddleListDialog. MiddleListMenuItem("張三", new OnClickPositionListener() {
                    @Override
                    public void onClickPosition(int position) {
                        Toast.makeText(context, "點選第幾個位置    " + position, Toast.LENGTH_LONG).show();
                    }
                }, color, size)).
                addMenuItem(new MiddleListDialog. MiddleListMenuItem("李四", new OnClickPositionListener() {
                    @Override
                    public void onClickPosition(int position) {
                        Toast.makeText(context, "點選第幾個位置    " + position, Toast.LENGTH_LONG).show();
                    }
                }, color, size)).
                show();
    }
 /**
         * 選擇彈出框
         */
        CommonSelectDialog mCommonSelectDialog = null;

        public void showSelectDialog(final Context context, String mTitle, String mContent, String cancel, String confirm, int size) {
            mCommonSelectDialog = new CommonSelectDialog.Builder(context).
                    setContentGravity(Gravity.CENTER).
                    setTouchAble(true).
                    setTitle(mTitle).
                    setContent(mContent).
                    setContentSize(size).
                    setLeftButtonInterface(cancel, new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            mCommonSelectDialog.dismiss();
                        }
                    }).setRightButtonInterface(confirm, new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mCommonSelectDialog.dismiss();
                }
            }).show();

        }


        /**
         * 單個按鈕彈出框
         */
        public void showSelectOneDialog(final Context context, String mTitle, String mContent, String confirm, int size) {
            mCommonSelectDialog = new CommonSelectDialog.Builder(context).
                    setContentGravity(Gravity.CENTER).
                    setTouchAble(true).
                    setTitle(mTitle).
                    setContent(mContent).
                    setContentSize(size).
                    setOneButtonInterface(confirm, new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            mCommonSelectDialog.dismiss();
                        }
                    }).show();

        }
    public void onClick(View v) {

        switch (v.getId()) {
            /**底部彈出1*/
            case R.id.mbottom1:
                String[] mList = MainActivity.this.getResources().getStringArray(R.array.selectList);
                showBottomListDialog1(MainActivity.this, mList);
                break;
            /**底部彈出2*/
            case R.id.mbottom2:
                showBottomListDialog2(MainActivity.this, R.dimen.com_font_size_16, getResources().getColor(R.color.colorAccent));
                break;

            /**中部彈出1*/
            case R.id.middle1:
                String[] mList1 = MainActivity.this.getResources().getStringArray(R.array.selectList);
                showMiddleListDialog1(MainActivity.this, mList1);
                break;
            /**中部彈出2*/
            case R.id.middle2:
                showMiddleListDialog2(MainActivity.this, R.dimen.com_font_size_16, getResources().getColor(R.color.colorAccent));
                break;
                 /**選擇彈出框*/
            case R.id.select:
               showSelectDialog(MainActivity.this, "提示", "你確定要關閉這個dialog嗎?", "取消", "確認", 16);
                break;
            /**單個按鈕彈出框*/
            case R.id.selec1:
               showSelectOneDialog(MainActivity.this, "提示", "你確定要刪除這個dialog嗎?", "確認", 16);
                break;
            default:
                break;
        }

    }```

dome下載地址!!!
如果你喜歡,歡迎stars