Android 常見進(jìn)度條---合集 LProgressView

前言:

進(jìn)度條常見的樣式, 目前暫時(shí)沒看到比較好用的框架, 或者說不好在原有的基礎(chǔ)上擴(kuò)展, 本框架的成員變量和方法幾乎都是用protected 和 public, 給用戶隨便擴(kuò)展.

Github地址: https://github.com/liys666666/LProgressView

先上效果圖---常見樣式

總體效果.gif

結(jié)構(gòu)圖.png

一. 導(dǎo)入框架

//項(xiàng)目根目錄下 build.gradle
allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' } //添加
        }
    }
//app目錄下 build.gradle
dependencies {
            implementation 'com.github.liys666666:LProgressView:V1.0.82'  //添加
    }
//xml布局中
 <com.liys.view.LineProView
        .... 
        app:progress_value = "50"/>
 <com.liys.view.LineCentreProView
                  .... />
 <com.liys.view.LineBottomProView
                  .... />
 <com.liys.view.ArcProView
                  .... />
 <com.liys.view.WaterWaveProView
                  .... />

二. 所有屬性

1. LineProView

LineProView.png
     //公共屬性
    <attr name="progress_max" format="integer"/>  //總數(shù)
    <attr name="progress_value" format="integer"/>  //進(jìn)度

    <attr name="progress_size" format="dimension"/>  //進(jìn)度條 大小
    <attr name="progress_color" format="color"/> //進(jìn)度條 顏色
    <attr name="progress_color_background" format="color"/> //進(jìn)度條背景顏色

    <attr name="text_size" format="dimension"/> //文字大小
    <attr name="text_color" format="color"/> //文字顏色
    <attr name="text_show" format="boolean"/> //是否顯示文字
    <attr name="text_decimal_num" format="integer"/>  //保留多少位小數(shù)

    <attr name="light_color" format="color"/> //發(fā)光顏色
    <attr name="light_show" format="boolean"/> //是否需要發(fā)光

    <attr name="stroke_color" format="color"/> //邊框顏色
    <attr name="stroke_width" format="dimension"/> //邊框大小
    <attr name="stroke_show" format="boolean"/> //是否需要邊框

    <!--line進(jìn)度條特有-->
    <attr name="radius" format="dimension"/>   //圓角
    <attr name="left_top_radius" format="dimension"/>
    <attr name="left_bottom_radius" format="dimension"/>
    <attr name="right_top_radius" format="dimension"/>
    <attr name="right_bottom_radius" format="dimension"/>
    <attr name="progress_radius" format="dimension"/> //進(jìn)度條 前進(jìn)方向圓角

2. LineCentreProView

LineCentreProView.png
    <!-- 公共屬性 -->
    <attr name="progress_max" format="integer"/>  //總數(shù)
    <attr name="progress_value" format="integer"/>  //進(jìn)度

    <attr name="progress_size" format="dimension"/>  //進(jìn)度條 大小
    <attr name="progress_color" format="color"/> //進(jìn)度條 顏色
    <attr name="progress_color_background" format="color"/> //進(jìn)度條背景顏色

    <attr name="text_size" format="dimension"/> //文字大小
    <attr name="text_color" format="color"/> //文字顏色
    <attr name="text_show" format="boolean"/> //是否顯示文字
    <attr name="text_decimal_num" format="integer"/>  //保留多少位小數(shù)

    <attr name="light_color" format="color"/> //發(fā)光顏色
    <attr name="light_show" format="boolean"/> //是否需要發(fā)光

    <attr name="stroke_color" format="color"/> //邊框顏色
    <attr name="stroke_width" format="dimension"/> //邊框大小
    <attr name="stroke_show" format="boolean"/> //是否需要邊框


    <!--line進(jìn)度條特有-->
    <attr name="radius" format="dimension"/>
    <attr name="left_top_radius" format="dimension"/>
    <attr name="left_bottom_radius" format="dimension"/>
    <attr name="right_top_radius" format="dimension"/>
    <attr name="right_bottom_radius" format="dimension"/>
    <attr name="progress_radius" format="dimension"/> //進(jìn)度條 前進(jìn)方向圓角

    <attr name="box_width" format="dimension"/> //方框?qū)挾?    <attr name="box_radius" format="dimension"/> //方框圓角

3. LineBottomProView

LineBottomProView.png
    <attr name="progress_max" format="integer"/>  //總數(shù)
    <attr name="progress_value" format="integer"/>  //進(jìn)度

    <attr name="progress_size" format="dimension"/>  //進(jìn)度條 大小
    <attr name="progress_color" format="color"/> //進(jìn)度條 顏色
    <attr name="progress_color_background" format="color"/> //進(jìn)度條背景顏色

    <attr name="text_size" format="dimension"/> //文字大小
    <attr name="text_color" format="color"/> //文字顏色
    <attr name="text_show" format="boolean"/> //是否顯示文字
    <attr name="text_decimal_num" format="integer"/>  //保留多少位小數(shù)

    <attr name="light_color" format="color"/> //發(fā)光顏色
    <attr name="light_show" format="boolean"/> //是否需要發(fā)光

    <!--圓角半徑-->
    <attr name="radius" format="dimension"/>   //圓角

    <attr name="box_width" format="dimension"/> //方框--寬度
    <attr name="box_height" format="dimension"/> //方框--高度
    <attr name="box_radius" format="dimension"/> //方框--圓角

4. ArcProView

ArcProView.png
    <attr name="progress_max" format="integer"/>  //總數(shù)
    <attr name="progress_value" format="integer"/>  //進(jìn)度

    <attr name="progress_size" format="dimension"/>  //進(jìn)度條 大小
    <attr name="progress_color" format="color"/> //進(jìn)度條 顏色
    <attr name="progress_color_background" format="color"/> //進(jìn)度條背景顏色

    <attr name="text_size" format="dimension"/> //文字大小
    <attr name="text_color" format="color"/> //文字顏色
    <attr name="text_show" format="boolean"/> //是否顯示文字
    <attr name="text_decimal_num" format="integer"/>  //保留多少位小數(shù)

    <attr name="light_color" format="color"/> //發(fā)光顏色
    <attr name="light_show" format="boolean"/> //是否需要發(fā)光

    <attr name="arc_start_angle" format="integer"/> //開始角度
    <attr name="arc_draw_angle" format="integer"/> //需要繪制的角度

5. WaterWaveProView

WaterWaveProView.png
    <attr name="progress_max" format="integer"/>  //總數(shù)
    <attr name="progress_value" format="integer"/>  //進(jìn)度

    <attr name="progress_size" format="dimension"/>  //進(jìn)度條 大小
    <attr name="progress_color" format="color"/> //進(jìn)度條 顏色
    <attr name="progress_color_background" format="color"/> //進(jìn)度條背景顏色

    <attr name="text_size" format="dimension"/> //文字大小
    <attr name="text_color" format="color"/> //文字顏色
    <attr name="text_show" format="boolean"/> //是否顯示文字
    <attr name="text_decimal_num" format="integer"/>  //保留多少位小數(shù)

    <attr name="light_color" format="color"/> //發(fā)光顏色
    <attr name="light_show" format="boolean"/> //是否需要發(fā)光

    <attr name="stroke_color" format="color"/> //邊框顏色
    <attr name="stroke_width" format="dimension"/> //邊框大小
    <attr name="stroke_show" format="boolean"/> //是否需要邊框

    <attr name="water_wave_width" format="dimension"/> // 水波長(zhǎng)
    <attr name="water_wave_height" format="dimension"/> //水波高度
    <attr name="water_wave_speed" format="integer"/> //水波--速度

三. 總結(jié)

1. 這里沒有漸變屬性, 如果需要, 可參考每個(gè)ProView對(duì)應(yīng)的詳細(xì)文章.
2. 使用簡(jiǎn)介, 學(xué)習(xí)成本低, 屬性一查即可知道
3. 支持用戶在原有的基礎(chǔ)擴(kuò)展和修改, 每個(gè)成員變量幾乎都有set和get方法.
① 例如: 對(duì)于畫筆Paint可以用對(duì)應(yīng)get方法取出, 然后設(shè)置對(duì)應(yīng)的屬性.
② 例如: 繼承對(duì)應(yīng)的View, 重寫對(duì)應(yīng)的方法進(jìn)行覆蓋.

如有問題和建議, 歡迎在評(píng)論區(qū)指出, 如果此框架對(duì)你有用, 歡迎點(diǎn)贊收藏

最后編輯于
?著作權(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)容

  • 最近小女兒越來越棒了,每天回家給我背誦兒歌,告訴我學(xué)校發(fā)生的事情,一學(xué)期進(jìn)步很大。從剛開始的哭鬧,到現(xiàn)在變得愿意上...
    力奇閱讀 239評(píng)論 0 1
  • 第十章 望女成鳳 這個(gè)年在輕松熱鬧,笑聲中很快就過去了。令英兒高興的是,這幾天她收到的好贊。在幼兒園學(xué)的禮貌習(xí)慣...
    mzy知行閱讀 441評(píng)論 0 10
  • 青苔蔓上拉長(zhǎng)的影 在潮腐的圍墻下暈出一汪油跡 碾碎的煙葉收繳了等待 撕扯擠滿荒謬的熱忱 眾神于蒼穹之上 俯視生靈蠕...
    慣墨閱讀 299評(píng)論 0 0
  • 1,感恩1708點(diǎn)平臺(tái)在這里提升了自我的能力。 2.感恩保琴老師的引領(lǐng),掌握了美心軟性活動(dòng)的流程。 3.感恩老公的...
    高鳳養(yǎng)生顧問閱讀 328評(píng)論 0 0
  • 托臺(tái)風(fēng)"鯰魚"的福,天降"祥雨"。我們的菜地終于不再干巴巴了。農(nóng)作"磚家"周老師瞅準(zhǔn)時(shí)機(jī),當(dāng)機(jī)立斷:"今天再次種菜...
    菲_f269閱讀 172評(píng)論 0 0

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