酷炫的android dialog彈出框

基于github開源框架基礎(chǔ)上運(yùn)用在自己的項(xiàng)目中,
效果如下:


本演示項(xiàng)目 基于Android Studio開發(fā),
在對(duì)應(yīng)moudle下的gradle.build中添加以下依賴

compile 'com.nineoldandroids:library:2.4.0' 
compile 'com.github.sd6352051.niftydialogeffects:niftydialogeffects:1.0.0@aar'

核心代碼列出:

String []type = {"Fadein", "Slideleft", "Slidetop", "SlideBottom", "Slideright", "Fall", "Newspager", "Fliph", "Flipv", "RotateBottom", "RotateLeft", "Slit", "Shake", "Sidefill"};
            int i= (int) (type.length*Math.random());
            Effectstype effect = null;
            switch (i){
                case 0:effect=Effectstype.Fadein;break;
                case 1:effect=Effectstype.Slideright;break;
                case 2:effect=Effectstype.Slideleft;break;
                case 3:effect=Effectstype.Slidetop;break;
                case 4:effect=Effectstype.SlideBottom;break;
                case 5:effect=Effectstype.Newspager;break;
                case 6:effect=Effectstype.Fall;break;
                case 7:effect=Effectstype.Sidefill;break;
                case 8:effect=Effectstype.Fliph;break;
                case 9:effect=Effectstype.Flipv;break;
                case 10:effect=Effectstype.RotateBottom;break;
                case 11:effect=Effectstype.RotateLeft;break;
                case 12:effect=Effectstype.Slit;break;
                case 13:effect=Effectstype.Shake;break;
            }
            final NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(this);

            dialogBuilder
                    // 重點(diǎn)設(shè)置
                    .withEffect(effect)        //設(shè)置對(duì)話框彈出樣式
                    //.setCustomView(R.layout.custom, MainActivity.this) // 設(shè)置自定義對(duì)話框的布局
                    .withDuration(700)              //動(dòng)畫顯現(xiàn)的時(shí)間(時(shí)間長就類似放慢動(dòng)作)

                    // 基本設(shè)置
                    .withTitle("Info")         //設(shè)置對(duì)話框標(biāo)題
                    .withTitleColor("#FFFFFF")          //設(shè)置標(biāo)題字體顏色
                    .withDividerColor("#11000000")      //設(shè)置分隔線的顏色
                    .withMessage("Are you sure logout?")//設(shè)置對(duì)話框顯示內(nèi)容
                    .withMessageColor("#FFFFFFFF")       //設(shè)置消息字體的顏色
                    .withDialogColor("#FFE74C3C")        //設(shè)置對(duì)話框背景的顏色
                    //.withIcon(getResources().getDrawable(R.drawable.logo)) //設(shè)置標(biāo)題的圖標(biāo)
                    // 設(shè)置是否模態(tài),默認(rèn)false,表示模態(tài),
                    //要求必須采取行動(dòng)才能繼續(xù)進(jìn)行剩下的操作 | isCancelable(true)
                    .isCancelableOnTouchOutside(true)
                    .withButton1Text("Yes")               //設(shè)置按鈕1的文本
                    .withButton2Text("No")          //設(shè)置按鈕2的文本

                    .setButton1Click(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Toast.makeText(v.getContext(), "I am btnYes", Toast.LENGTH_SHORT).show();
                            dialogBuilder.dismiss();
                        }
                    })
                    .setButton2Click(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Toast.makeText(v.getContext(), "I am btnNo", Toast.LENGTH_SHORT).show();
                            dialogBuilder.dismiss();
                        }
                    })
                    .show();

app demo下載地址: http://fir.im/NiftyDialog

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容