2014-03-25 24 views
0

我需要建立一個沒有對話框一些進度條是這樣的: enter image description here自定義進度條或Seekbar或動畫?

我找不到如何創建自定義的進度條和在主要活動中使用(而不是對話框)。這個紅色的酒吧由2個小圖像組成,我需要在我的線程正在工作時不斷添加它們。 現在有什麼辦法呢? 也許最好是使用動畫? 有什麼想法? 謝謝

回答

1

實際上有一個ProgressBar小部件。

<ProgressBar 
    android:id="@+id/pb" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="10dp" 
    android:max="100" 
    android:progressDrawable="@drawable/progressbar" /> 

並且作爲可繪製的進度條例如

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

<item android:id="@android:id/background"> 
    <shape> 
     <gradient 
      android:angle="270" 
      android:centerColor="#AA444444" 
      android:centerY="0.5" 
      android:endColor="#88000000" 
      android:startColor="#88000000" /> 
    </shape> 
</item> 
<item android:id="@android:id/progress"> 
    <clip> 
     <shape> 
      <gradient 
       android:angle="270" 
       android:centerColor="#FFFFFF44" 
       android:centerY="0.5" 
       android:endColor="#FFAAAA00" 
       android:startColor="#FFAAAA00" /> 
     </shape> 
    </clip> 
</item> 
<item android:id="@android:id/secondaryProgress"> 
    <clip> 
     <shape> 
      <gradient 
       android:angle="270" 
       android:centerColor="#FF88FF88" 
       android:centerY="0.5" 
       android:endColor="#FF44AA44" 
       android:startColor="#FF44AA44" /> 
     </shape> 
    </clip> 
</item> 

</layer-list> 

,並從你的線程更新,發佈可運行與progressbar.setProgress()progressBar.setSecondaryProgress(),甚至更好,使用AsyncTask並調用publishProgress和接收onProgressUpdate()

+0

如何創建XML的電話? 我必須將您的代碼放入標籤嗎? 我在xml中出現了一些錯誤... – GigantoMK

+1

更新了它,格式已被搞亂。您必須將該文件放入可繪製文件夾中。如果可繪製文件夾不存在,則必須創建它。 – ElDuderino

+0

很好用! 現在我怎樣才能使用我的圖像創建欄? 和第二個問題,我每次需要調用setProgress來更新我的酒吧? – GigantoMK