2017-08-13 2 views
0

私は描画可能circular.xmlここAndroidのカスタム空cicrleプログレスバーの色の問題

で作られたアンドロイドでカスタム円プログレスバーを持っているが、私のプログレスバーです:

ここ
<ProgressBar 
    android:id="@+id/circle_progress_id" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:indeterminate="false" 
    android:max="100" 
    android:rotation="-90" 
    android:progressDrawable="@drawable/circular" 
    android:layout_toRightOf="@id/checkbox_id" 
    android:background="@drawable/circle_shape"/> 

@からのコードである円形/描画可能

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape 
      android:innerRadiusRatio="3.4" 
      android:shape="ring" 
      android:thicknessRatio="9.0" 
      android:useLevel="true" > 
      <gradient 
       android:endColor="#4CAF50" 
       android:startColor="#4CAF50" 
       android:type="sweep" 
       android:useLevel="true" /> 
     </shape> 
    </item> 
</selector> 

そして、それは正常に動作し、後に進行状況を表示:

recyclerTaskHolder.progressBarStage.setProgress(getStageProgressValue(myTask)); 

しかし、進捗がゼロのときは絶対に空です。 進捗状況がゼロのときに、ユーザーに空の灰色のプログレスバーを表示する必要があります。または、0から100%の間にある場合、プログレスバーの空白部分を灰色で表示します。私はここでプログレスバーのカスタム背景

android:background="@drawable/circle_shape" 

を作ってみました

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape 
      android:innerRadiusRatio="3.4" 
      android:shape="ring" 
      android:thicknessRatio="9.0" 
      android:useLevel="true" 
      android:visible="true"> 
      <gradient 
       android:endColor="#000000" 
       android:startColor="#000000" 
       android:type="sweep" 
       android:useLevel="true" /> 
     </shape> 
    </item> 
</selector> 

circle_shape.xmlですが、それは私を助けていないと、空のプログレスバーはまだ見えません。

答えて

0

残念ながら、私はこの問題の理由を見つけられませんでした。 しかし、私はCircle Progress Barにこのライブラリを使用しています。 CircularProgressBar

このライブラリは使いやすいです。