2015-02-09 4 views
0

Я пытаюсь установить другой цвет в округленный индикатор выполнения. Ниже мой код ..Как установить цвет индикатора выполнения?

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

    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape> 
       <corners android:radius="5dip" /> 

       <solid android:color="@color/purple" /> 
      </shape> 
     </clip> 

     <color android:color="@color/purple" /> 
    </item> 
    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <corners android:radius="5dip" /> 

       <solid android:color="@color/purple" /> 
      </shape> 
     </clip> 

     <color android:color="@color/purple" /> 
    </item> 

</layer-list> 

<ProgressBar 
     android:id="@+id/progress_bar" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_vertical" 
     android:progressDrawable="@drawable/progress_bar" 
     android:visibility="visible" /> 

Но это не работает. Тем не менее индикатор выполнения отображается серым цветом. Пожалуйста, помогите мне, где я иду не так?

+0

Проверьте этот ответ http://stackoverflow.com/questions/6421178/how-to-change-default-color-of-progress-bar. – Bae

ответ

0

Сделайте одну папку xml в каталоге res и поместите в нее файл progress.xml.

progress.xml

<?xml version="1.0" encoding="utf-8"?> 
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" 
    android:toDegrees="360"> 
    <shape android:shape="ring" android:innerRadiusRatio="3" 
     android:thicknessRatio="8" android:useLevel="false"> 

     <size android:width="76dip" android:height="76dip" /> 
     <gradient android:type="sweep" android:useLevel="false" 
      android:startColor="#447a29" 
      android:endColor="#447a29" 
      android:angle="0" 
      /> 
    </shape> 
</rotate> 

набор startColor и ENDCOLOR по вашему выбору.

сейчас установлен этот прогресс.xml в промежутке заднего хода.

Как это

<ProgressBar 
    android:id="@+id/ProgressBar01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:background ="@xml/progress"> 
0

Создайте файл XML с именем customprogressbar.xml в вашем res-> Drawable папку:

customprogressbarcolour.xml

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

    <!-- Define the background properties like color etc --> 
    <item android:id="@android:id/background"> 
    <shape> 
     <gradient 
       android:startColor="#000001" 
       android:centerColor="#0b131e" 
       android:centerY="1.0" 
       android:endColor="#0d1522" 
       android:angle="270" 
     /> 
    </shape> 
    </item> 

    <!-- Define the progress properties like start color, end color etc --> 
    <item android:id="@android:id/progress"> 
    <clip> 
     <shape> 
      <gradient 
       android:startColor="#007A00" 
       android:centerColor="#007A00" 
       android:centerY="1.0" 
       android:endColor="#06101d" 
       android:angle="270" 
      /> 
     </shape> 
    </clip> 
    </item> 
</layer-list> 

Выполните следующие действия в вашем XML:

<ProgressBar 
    android:id="@+id/progress1" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:progressDrawable="@drawable/custom_progressbar"   
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

Во время выполнения

Drawable draw=res.getDrawable(R.drawable.customprogressbarcolour); 
    progressBar.setProgressDrawable(draw); 
Смежные вопросы