LoadingDialog 加載框集成

前言

將等待加載框進(jìn)行集成住涉,可以根據(jù)不同的需求木人,顯示不同的等待加載框巾兆。Github地址:https://github.com/lzy2626/LzyLoading

效果

使 用

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

Step 2. Add the dependency

    dependencies {
            implementation 'com.github.lzy2626:LzyLoading:1.9'
    }

Step3. 代碼調(diào)用

1.使用系統(tǒng)默認(rèn)圖,可以修改顏色

       new LoadingDialog.Builder(MainActivity.this)
                .msg("加載中...")
                .color(R.color.colorPrimary)//修改顏色
                .build()
                .show();

2.自定義圖片

       new LoadingDialog.Builder(MainActivity.this)
                .msg("加載中...")
                .image(R.drawable.loading_dialog_progressbar)
                .build()
                .show();

loading_dialog_progressbar寫(xiě)法:

        
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@mipmap/bga_refresh_loading01"
    android:pivotX="50%"
    android:pivotY="50%" />

3.gif圖

       new LoadingDialog.Builder(MainActivity.this)
                .msg("加載中...")
                .gifImage(R.mipmap.num86)
                .build()
                .show();

實(shí)現(xiàn)

1.核心代碼

  /**
     * 三種加載樣式:1.系統(tǒng)默認(rèn)圖虎囚,可設(shè)置顏色 2.自定義圖片 3.Gif
     * 比重遞減:
     * gif有數(shù)據(jù),自定義有數(shù)據(jù)蔫磨,顯示gif
     * gif無(wú)數(shù)據(jù)淘讥,自定義有數(shù)據(jù),顯示自定義圖片
     * gif無(wú)數(shù)據(jù)堤如,自定義無(wú)數(shù)據(jù)蒲列,顯示系統(tǒng)樣式
     */
    public void show() {
        View view;
        if (gifImage != -1) {//設(shè)置了gif
            view = LayoutInflater.from(context).inflate(R.layout.dialog_loadinggif, null);
            GifImageView gifImageView = view.findViewById(R.id.gifimageview);
            gifImageView.setImageResource(gifImage);
        } else {
            view = LayoutInflater.from(context).inflate(R.layout.dialog_loading, null);
            ProgressBar progressBar = view.findViewById(R.id.progressbar);
            LinearLayout llProgress = view.findViewById(R.id.ll_progress);

            //設(shè)置背景色
            if (background != -1) {
                llProgress.setBackgroundColor(context.getResources().getColor(background));
            }


            if (image != -1) {//設(shè)置了image圖片,沒(méi)有設(shè)置的話搀罢,使用系統(tǒng)樣式
                Drawable wrapDrawable = DrawableCompat.wrap(context.getResources().getDrawable(image));
                progressBar.setIndeterminateDrawable(DrawableCompat.unwrap(wrapDrawable));
            } else {//使用系統(tǒng)默認(rèn)圖片
                //使用系統(tǒng)樣式可以設(shè)置樣式顏色
                if (color != -1) {
                    //21以上處理方式和21以下版本的處理方式不同
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                        progressBar.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(context, color), PorterDuff.Mode.SRC_IN);

                    } else {
                        Drawable wrapDrawable = DrawableCompat.wrap(progressBar.getIndeterminateDrawable());
                        DrawableCompat.setTint(wrapDrawable, ContextCompat.getColor(context, color));
                        progressBar.setIndeterminateDrawable(DrawableCompat.unwrap(wrapDrawable));
                    }
                }

            }


        }
        TextView loadingText = view.findViewById(R.id.id_tv_loading_dialog_text);
        //設(shè)置提示語(yǔ)
        if (TextUtils.isEmpty(msg)) {
            loadingText.setVisibility(View.GONE);
        } else {
            loadingText.setVisibility(View.VISIBLE);
            loadingText.setText(msg);
            if (msgColor != -1)
                loadingText.setTextColor(context.getResources().getColor(msgColor));
        }

        mLoadingDialog = new Dialog(context, R.style.CustomProgressDialog);
        mLoadingDialog.setCancelable(cancelable);
        mLoadingDialog.setCanceledOnTouchOutside(canceledOnTouchOutside);
        mLoadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));

        Window window = mLoadingDialog.getWindow();
        WindowManager.LayoutParams params = window.getAttributes();
        params.width = width;
        params.width = height;
        window.setAttributes(params);

        mLoadingDialog.show();
    }

2.參數(shù)

/**
     * 提示語(yǔ)
     */
    private String msg;
    private int msgColor;
    /**
     * 是否可取消
     */
    private boolean cancelable;
    /**
     * 點(diǎn)擊dialog以外的區(qū)域是否關(guān)閉
     */
    private boolean canceledOnTouchOutside;
    /**
     * 菊花的顏色
     */
    private int color;
    /**
     * 背景色
     */
    private int background;

    /**
     * image圖片
     */
    private int image;
    /**
     * gif圖片
     */
    private int gifImage;
    /**
     *寬高
     */
    private int width;
    private int height;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蝗岖,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子榔至,更是在濱河造成了極大的恐慌抵赢,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唧取,死亡現(xiàn)場(chǎng)離奇詭異铅鲤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)枫弟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)邢享,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人淡诗,你說(shuō)我怎么就攤上這事骇塘∫谅模” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵款违,是天一觀的道長(zhǎng)唐瀑。 經(jīng)常有香客問(wèn)我,道長(zhǎng)奠货,這世上最難降的妖魔是什么介褥? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮递惋,結(jié)果婚禮上柔滔,老公的妹妹穿的比我還像新娘。我一直安慰自己萍虽,他們只是感情好睛廊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著杉编,像睡著了一般超全。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邓馒,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天嘶朱,我揣著相機(jī)與錄音,去河邊找鬼光酣。 笑死疏遏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的救军。 我是一名探鬼主播财异,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼唱遭!你這毒婦竟也來(lái)了戳寸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拷泽,失蹤者是張志新(化名)和其女友劉穎疫鹊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體司致,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡订晌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚌吸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锈拨。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖羹唠,靈堂內(nèi)的尸體忽然破棺而出奕枢,到底是詐尸還是另有隱情娄昆,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布缝彬,位于F島的核電站萌焰,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谷浅。R本人自食惡果不足惜扒俯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望一疯。 院中可真熱鬧撼玄,春花似錦、人聲如沸墩邀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)眉睹。三九已至荔茬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竹海,已是汗流浹背慕蔚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斋配,地道東北人孔飒。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像许起,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子菩鲜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348