簡單好看的Android圓形進度條對話方塊開源庫

joytoy發表於2021-09-09

簡介

本文介紹CircleProgressDialog開源庫的使用及實現的詳細過程,該開源庫主要實現以下幾個功能:

  • 自定義一個好看的圓形進度條,可直接在佈局檔案中使用,可設定圓環寬度、圓環顏色、圓環陰影大小等屬性;

  • 實現自定義的dialog,用於使用者等待時的顯示,透過簡單的程式碼即可直接呼叫顯示,同時提供api進行顏色、文字等設定

透過本文可瞭解到自定義view的相關知識及自定義dialog的方法

github連結如下,覺得還可以請幫忙點下star~

使用效果

首先看下使用效果:

圖片描述

有兩種使用方式

佈局檔案中使用

提供loading_color、loading_width、shadow_offset進行設定

程式碼中使用,對話方塊形式彈出

如果直接採用預設設定直接呼叫以下程式碼即可

CircleProgressDialog circleProgressDialog;
circleProgressDialog = new CircleProgressDialog(this);
circleProgressDialog.showDialog();

當然,還可以進行相關屬性的設定,同時在等待的過程中可根據程式執行情況動態改變提示文字的內容及顏色

CircleProgressDialog circleProgressDialog;
circleProgressDialog = new CircleProgressDialog(this);//可對對話方塊的大小、進度條的顏色、寬度、文字的顏色、內容等屬性進行設定circleProgressDialog.setDialogSize(15);
circleProgressDialog.setProgressColor(Color.parseColor("#FFFFFF"));
circleProgressDialog.setTextColor(Color.parseColor("#FFFFFF"));
...
circleProgressDialog.showDialog();  //顯示對話方塊//顯示過程中可根據狀態改變文字內容及顏色circleProgressDialog.changeText("erro:...");
circleProgressDialog.changeTextColor(Color.parseColor("##EB0000"));

circleProgressDialog.dismiss();//關閉對話方塊

當然在使用前需先匯入該庫,僅需加入兩行程式碼:

在工程的 build.gradle中加入:

allprojects {
        repositories {
            ...
            maven { url "" }
        }
    }

module的build.gradle中加入依賴:

dependencies {            compile 'com.github.autume:CircleProgressDialog:1.0.0'
    }

具體實現過程

自定義view

相關知識

繪製弧:

drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)

  • oval是RecF型別的物件,其定義了橢圓的形狀

  • startAngle指的是繪製的起始角度,鐘錶的3點位置對應著0度,如果傳入的startAngle小於0或者大於等於360,那麼用startAngle對360進行取模後作為起始繪製角度。

  • sweepAngle指的是從startAngle開始沿著鐘錶的順時針方向旋轉掃過的角度。如果sweepAngle大於等於360,那麼會繪製完整的橢圓環。如果sweepAngle小於0,那麼會用sweepAngle對360進行取模後作為掃過的角度。

  • useCenter是個boolean值,如果為true,表示在繪製完環之後,用橢圓的中心點連線環上的起點和終點以閉合環;如果值為false,表示在繪製完環之後,環的起點和終點直接連線,不經過橢圓的中心點。

設定矩形:

RectF rectF = new RectF(100, 100, 300, 300);

這四個引數分別代表的意思是:left top right bottom 左 上 右 下

  • left : 矩形左邊的X座標

  • top: 矩形頂部的Y座標

  • right : 矩形右邊的X座標

  • bottom: 矩形底部的Y座標

其實就是矩形的左上角和右下角的座標值

首先加入自定義view的屬性

我們定義了顏色,寬度,陰影偏移大小,是否顯示等屬性,format是值該屬性的取值型別:

一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag;



    
        
本文作者: – 蘇耀東

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2803546/,如需轉載,請註明出處,否則將追究法律責任。

相關文章