Android開發自學筆記(Android Studio)—4.5 ProgressBar及其子類,androidprogressbar
一、前言
ProgressBar本身代表了進度條組件,它還派生出了兩個常用的組件:SeekBar和RatingBar,他們的使用方法類似,只是顯示介面有一定的區別。我們看一下API文檔中的說明:
xml屬性名稱 說明 android:animationResolution 動畫逾時時間,必須是整數值,比如“100” android:indeterminate 該屬性設定為true,表示不精確顯示進度 android:indeterminateBehavior 設定當選擇不精確顯示進度時,如何描述到達最大值 android:indeterminateDrawable 設定當選擇不精確顯示進度時,所繪製的drawable對象 android:indeterminateDuration 設定不精確顯示進度的期間 android:indeterminateOnly 設定只採用不精確顯示進度模式(狀態保持模式將不會工作) android:interpolator android:max 設定進度可以達到的最大值 android:maxHeight 選擇性參數 設定View的最大高度 android:maxWidth 選擇性參數 設定View的最大寬度 android:minHeight 選擇性參數 設定View的最小高度 android:minWidth 選擇性參數 設定View的最小寬度 android:mirrorForRtl 定義如果是否需要反映在RTL模式的相關畫板,預設為false android:progress 設定該進度已完成的進度值 android:progressDrawable 設定該進度條軌道對應的drawable對象 android:secondaryProgress 二級進度條,主要用於緩衝使用的情境
該表格取自API19文檔
進度條支援多種風格,可以直接通過設定style屬性來設定,API中也給出了如下的屬性:
Widget.ProgressBar.Horizontal 水平進度條
Widget.ProgressBar.Small 小環形進度條
Widget.ProgressBar.Large 大環進度條
Widget.ProgressBar.Inverse 普通大小的環形進度條
Widget.ProgressBar.Small.Inverse 小環形進度條
Widget.ProgressBar.Large.Inverse 大環形進度條
另外一種使用方式就是可以使用系統的ATT屬性例如:
- style="?android:attr/progressBarStyle"
- style="?android:attr/progressBarStyleHorizontal"
- style="?android:attr/progressBarStyleInverse"
- style="?android:attr/progressBarStyleLarge"
- style="?android:attr/progressBarStyleLargeInverse"
- style="?android:attr/progressBarStyleSmall"
- style="?android:attr/progressBarStyleSmallInverse"
- style="?android:attr/progressBarStyleSmallTitle"
例如如下的代碼:
屬性 說明 android:isIndicator 設定該星級評等是否允許使用者該表(true為不允許改變) android:numStars 設定該星級評等條總共有多少星星 android:rating 設定該星級評等條預設的星級 android:stepSize 設定每次最少需要改變多少個星級
我們來做一個簡答的例子來示範這些屬性:
同樣先看一下效果:
然後我們給出布局檔案:
其中max和progress是進度條中的屬性,因為RatingBar本身就是一個特殊的進度條,設定了最大值是100,5顆星顯示,說明一顆星是20,步進0.5,說明一次至少可以選擇半顆星。
後台主要是處理了改變時的監聽器。
五、後記
最近雜事繁多,學習的進度減慢了,遇到問題也卡了很久,有些問題需要多深入的學習一下,多看看SDK中的樣本和API文檔。下面的章節會跳過一些簡單控制項的使用,給出SDK中範例程式碼的位置。不再在部落格上浪費空間了。加快學習進度。