ProgressBar詳解

一、ProgressBar基礎使用

**(1)默認ProgressBar

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

(2)ProgressBar屬性

  • android:indeterminate:設置為不確定模式袱贮,動畫無限循環(huán)
  • android:indeterminateDrawable:定義不確定模式是否可drawable
  • android:max:定義進度的最大值
  • android:maxHeight:進度Widget最大高
  • android:maxWidth:進度Widget最大寬
  • android:minHeight:進度Widget最小高
  • android:minWidth:進度Widget最小寬
  • android:progress:設置進度的默認值传惠,0到max
  • android:progressBackgroundTint:進度條的背景顏色
  • android:progressTint:進度條的顏色
  • android:secondaryProgress:定義二級進度值迄沫,0到max

(3)ProgressBar方法

  • getMax():返回這個進度條的范圍的上限。
  • getProgress():返回進度卦方。
  • getSecondaryProgress():返回次要進度羊瘩。
  • incrementProgressBy():指定增加的進度。為正數(shù)時進度增加盼砍;為負數(shù)時進度減少尘吗。
  • isIndeterminate():指示進度條是否在不確定模式下。
  • setIndeterminate():設置是否為不確定模式衬廷。

(4)系統(tǒng)提供ProgressBar樣式

  • 水平進度條
    <ProgressBar
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="200dp"
        android:layout_height="10dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:max="100"
        android:progress="60" />
  • 普通大小的環(huán)形進度條
    <ProgressBar
        style="@android:style/Widget.ProgressBar.Inverse"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp" />
  • 大環(huán)形進度條
    <ProgressBar
        style="@android:style/Widget.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp" />
  • 小環(huán)形進度條
    <ProgressBar
        style="@android:style/Widget.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp" />

二摇予、自定義ProgressBar樣式

(1)自定義帶漸變色圓角的水平進度條

    <ProgressBar
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="200dp"
        android:layout_height="20dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:max="100"
        android:progress="80"
        android:progressDrawable="@drawable/progress_bar_bg" />
  • 設置背景顏色和圓角
  • 設置進度條漸變色和圓角
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <corners android:radius="10dp" />
            <solid android:color="@color/white" />
        </shape>
    </item>
    <item>
        <clip>
            <shape>
                <corners android:radius="10dp" />
                <gradient
                    android:angle="0"
                    android:endColor="@color/colorPrimary"
                    android:startColor="@color/colorAccent" />
            </shape>
        </clip>
    </item>
</layer-list>

(2)自定義旋轉圖片加載

    <ProgressBar
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:progressDrawable="@drawable/progress_bar_bg" />
  • 設置旋轉圖片
  • 設置圓形和旋轉角度
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@mipmap/loading"
    android:fromDegrees="0.0"
    android:pivotX="50.0%"
    android:pivotY="50.0%"
    android:toDegrees="360.0" />

(3)自定義多張圖片播放動畫

  • 設置為不確定模式
  • indeterminateDrawable設置Drawable動畫
    <ProgressBar
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:indeterminate="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:indeterminateDrawable="@drawable/progress_bar_bg" />
  • 設置Drawable動畫
<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="100" android:drawable="@mipmap/icon_run1" />
    <item android:duration="100" android:drawable="@mipmap/icon_run2" />
    <item android:duration="100" android:drawable="@mipmap/icon_run3" />
    <item android:duration="100" android:drawable="@mipmap/icon_run4" />
    <item android:duration="100" android:drawable="@mipmap/icon_run5" />
</animation-list>

三、Shape使用

(1)rectangle:矩形

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--填充顏色-->
    <solid android:color="@color/colorPrimary" />
    <!--圓角大小-->
    <corners android:radius="10dp" />
    <!--四個圓角的大小-->
    <padding
        android:bottom="12dp"
        android:left="12dp"
        android:right="12dp"
        android:top="12dp" />
    <!--邊框大小吗跋、顏色-->
    <stroke
        android:width="5dp"
        android:color="@color/colorAccent" />
    <!--漸變角度侧戴、漸變結束顏色、漸變起始顏色-->
    <gradient
        android:angle="0"
        android:endColor="@android:color/black"
        android:startColor="@android:color/white" />
</shape>

(2)oval:橢圓

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <!--填充顏色-->
    <solid android:color="@color/colorPrimary" />

    <!--漸變的XY軸起始位置跌宛,范圍0-1,0.5表示圓心-->
    <!--漸變類型:線性漸變(linear)酗宋、放射漸變(radial)、掃描性漸變(sweep)-->
    <gradient
        android:centerX="0.5"
        android:centerY="0.5"
        android:endColor="@color/colorAccent"
        android:startColor="@color/colorPrimary"
        android:type="sweep" />
</shape>

(3)line:線

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <!--填充顏色的高度-->
    <!--虛線間距寬度-->
    <!--虛線寬度-->
    <stroke
        android:width="1dp"
        android:color="@color/colorAccent"
        android:dashWidth="4dp"
        android:dashGap="3dp" />
    <!--line的高度-->
    <size android:height="3dp" />
</shape>

(4)ring:圓環(huán)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:thickness="10dp"
    android:useLevel="false">
    <!--thickness圓環(huán)寬度-->
    <!--useLevel需要設置為false-->

    <gradient
        android:endColor="@color/colorPrimary"
        android:startColor="@color/colorAccent"
        android:type="sweep" />
</shape>
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疆拘,一起剝皮案震驚了整個濱河市蜕猫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哎迄,老刑警劉巖回右,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異漱挚,居然都是意外死亡翔烁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門旨涝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹬屹,“玉大人,你說我怎么就攤上這事】” “怎么了贩耐?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長厦取。 經(jīng)常有香客問我潮太,道長,這世上最難降的妖魔是什么蒜胖? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任消别,我火速辦了婚禮,結果婚禮上台谢,老公的妹妹穿的比我還像新娘寻狂。我一直安慰自己,他們只是感情好朋沮,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布蛇券。 她就那樣靜靜地躺著,像睡著了一般樊拓。 火紅的嫁衣襯著肌膚如雪纠亚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天筋夏,我揣著相機與錄音蒂胞,去河邊找鬼。 笑死条篷,一個胖子當著我的面吹牛骗随,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赴叹,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼鸿染,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乞巧?” 一聲冷哼從身側響起涨椒,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绽媒,沒想到半個月后蚕冬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡是辕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年播瞳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片免糕。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出石窑,到底是詐尸還是另有隱情牌芋,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布松逊,位于F島的核電站躺屁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏经宏。R本人自食惡果不足惜犀暑,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烁兰。 院中可真熱鬧耐亏,春花似錦、人聲如沸沪斟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽主之。三九已至择吊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間槽奕,已是汗流浹背几睛。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粤攒,地道東北人所森。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像琼讽,于是被迫代替她去往敵國和親必峰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 一钻蹬、基礎知識:1吼蚁、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,371評論 0 4
  • 1. Java基礎部分 基礎部分的順序:基本語法问欠,類相關的語法肝匆,內(nèi)部類的語法,繼承相關的語法顺献,異常的語法旗国,線程的語...
    子非魚_t_閱讀 31,603評論 18 399
  • 1、一個".java"源文件中是否可以包括多個類(不是內(nèi)部類)注整?有什么限制能曾?答:可以有多個類度硝,但只能有一個publ...
    岳小川閱讀 920評論 0 2
  • 糖炒栗子 烤紅薯 冰糖葫蘆 一年
    沒有夏夏夏夏夏天閱讀 84評論 0 0
  • 當夏日的喧囂已被褪去、火辣的太陽收起起那侵略性的目光的時候寿冕,夏夜已經(jīng)悄然來臨蕊程。人們開始慢慢地睡去,家家戶戶的燈光也...
    小小尋閱讀 533評論 8 6