2015-06-06 2 views
0

Я пытаюсь изменить зеленый индикатор прогресса по умолчанию на фиолетовый. Некоторые люди здесь предложили создать собственную вытяжку (progress.xml), содержащую этот код:Custom Progress bar color

<?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="#61408c" 
       android:endColor="#e1d2f3" 
       android:angle="0" 
     /> 
</shape> 

и чем устанавливать это на фоне атрибут индикатора выполнения, как это:

<ProgressBar 
    style="?android:attr/progressBarStyleLarge" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/progressBar" 
    android:background="@drawable/progress" 
    android:layout_centerInParent="true"/> 

Проблема в том, что я вижу индикаторы индикаторов фиолетового и зеленого индикаторов. Зелень сверху пурпурного. Я не знаю, откуда идет зеленый индикатор прогресса? Эффект таков: enter image description here

ответ

0

Я понял это. Я должен установить его в коде, а не как атрибут фона! следующим образом:

mProgressBar = (ProgressBar) findViewById(R.id.progressBar); 
    mProgressBar.setVisibility(View.INVISIBLE); 
    mProgressBar.setIndeterminateDrawable(getDrawable(R.drawable.progress));