2014-09-18 4 views
0

Я показываю индикатор выполнения при загрузке файлов. Я хочу установить цвет (цветовой код HTML) прогресса, который поступает с сервера, и может время от времени менять цветовой код. как я отвечаю требованиям.Запрограммировать цвет прогрессирующего штриха

image.

Например, для вышеуказанного изображения я хочу изменить желтый цвет и установить цвет, который приходит на сервер.

+0

http://stackoverflow.com/questions/2020882/how-to-change-progress-bars-progress-color-in-android –

+0

Check: http://stackoverflow.com/questions/5745814/android-change-horizonal-progress-bar-color –

+0

@HareshChhelana Я хочу установить цвет через код. – Meher

ответ

1

Итак ... Я сделал образец проекта, который изменяет цвет выполнения, и вы также можете изменить цвет фона хода.

Сначала создайте пользовательский файл xml-файла.

custom_progressbar.xml

<!-- 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="#2A98E1" 
       android:centerColor="#2A98E1" 
       android:centerY="1.0" 
       android:endColor="#06101d" 
       android:angle="270" 
       /> 
     </shape> 
    </clip> 
</item> 

активность Компоновка:

activity_my.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:orientation="horizontal" 
tools:context=".MyActivity"> 


<ProgressBar 
    android:id="@+id/myProgress" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="match_parent" 
    android:layout_weight="0.7" 
    android:layout_height="wrap_content" /> 

<TextView 
    android:id="@+id/progressTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

    android:text="None"/> 

</LinearLayout> 

Испытания активность:

Важная часть заключается в следующем:.

Drawable ничьего = GetResources() getDrawable (R.drawable.custom_progressbar); progressBar.setProgressDrawable (draw);

MyActivity.java

private ProgressBar progressBar; 
private Handler handler = new Handler(); 
private int progressStatus = 0; 
private TextView textView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my); 



    init(); 
    initProgresBar(); 

} 


public void init(){ 

    textView = (TextView) findViewById(R.id.progressTextView); 
    progressBar = (ProgressBar) findViewById(R.id.myProgress); 
    Drawable draw=getResources().getDrawable(R.drawable.custom_progressbar); 
    // set the drawable as progress drawable 
    progressBar.setProgressDrawable(draw); 

} 

public void initProgresBar(){ 
    new Thread(new Runnable() { 
     public void run() { 
      while (progressStatus < 100) { 
       progressStatus += 1; 
       // Update the progress bar and display the 

       //current value in the text view 
       handler.post(new Runnable() { 
        public void run() { 
         progressBar.setProgress(progressStatus); 
         textView.setText(progressStatus+"/"+progressBar.getMax()); 
        } 
       }); 
       try { 
        // Sleep for 200 milliseconds. 

        //Just to display the progress slowly 
        Thread.sleep(200); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 
    }).start(); 

} 

И выход будет таким:

enter image description here

Надежда это то, что вы где искали. Приветствия

Для получения дополнительной информации вы найдете этот ПОЛЕЗНЫЕ: stack progress bar post

+0

сначала я попробовал с COLOR.RED. Весь индикатор выполнения красный, и я не вижу прогресса. – Meher

+0

OK Я вернусь с примерами примеров :) –

+0

Благодарим вас за ваши усилия. Но этот индикатор выполнения установлен в xml. Как изменить цвет с помощью java-кода. – Meher

0
progressBar.getProgressDrawable().setColorFilter(Color.parseColor("#YourColorHex"), Mode.SRC_IN); 

Tutorial for Customizing ProgressBar

EDIT:

http://miroprocessordev.blogspot.in/2012/09/android-how-to-change-progress-bar.html

+0

, если я установил цвет, цвет полностью заполнен. Невозможно увидеть прогресс. Любая другая точка, которую я не вижу? – Meher

+0

вы используете 'progressBar.setProgress (0);'? –

+0

Да до начала загрузки. – Meher

Смежные вопросы