title: Android: set color programmatically to ProgressBar
body: <p>I would like to set color programmatically to the progress bar primaryProgress, secondaryProgress as the color will be changed according to the background color of the screen.</p>
  
  <h2>Code:</h2>
  
  <pre><code>LayerDrawable progressDrawable = (LayerDrawable) ProgressBar1.getProgressDrawable();
  Drawable backgroundColor = progressDrawable.getDrawable(0);
  Drawable secondaryColor = progressDrawable.getDrawable(1);
  Drawable primaryColor = progressDrawable.getDrawable(2);
  
  final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
  primaryColor = new ShapeDrawable(new RoundRectShape(roundedCorners, null, null));
  secondaryColor = new ShapeDrawable(new RoundRectShape(roundedCorners, null, null));
  
  primaryColor.setColor((Color.rgb(color_normal[0], color_normal[1], color_normal[2])), null);
  secondaryColor.setColor((Color.rgb(color_normal[0], color_normal[1], color_normal[2])), null);
  
  progressDrawable.setDrawableByLayerId(progressDrawable.getId(2), new ClipDrawable(primaryColor, Gravity.LEFT, ClipDrawable.HORIZONTAL));
  
  ...
  </code></pre>
  
  <h2>Edit:</h2>
  
  <p>** the color code here are for testing only. Afterwards the colorcode will be referenced to other part for updates accordingly</p>
  
  <pre><code>    secondaryColor.setColorFilter((Color.rgb(255, 0, 0)), PorterDuff.Mode.SRC_OVER);
      primaryColor.setColorFilter((Color.rgb(0, 255, 213)), PorterDuff.Mode.SRC_OVER);        
  
      progressDrawable.setDrawableByLayerId(progressDrawable.getId(2), new ClipDrawable(primaryColor, Gravity.LEFT, ClipDrawable.HORIZONTAL));
      progressDrawable.setDrawableByLayerId(progressDrawable.getId(1), new ClipDrawable(secondaryColor, Gravity.LEFT, ClipDrawable.HORIZONTAL));
      ProgressBar1.setProgressDrawable(progressDrawable); 
      ProgressBar1.setProgress(progress);
      ProgressBar1.setSecondaryProgress(secondaryProgress);
  </code></pre>
  
  <h2>Question:</h2>
  
  <p>It underlines in red for <code>primanyColor.setColor</code> and reports that <code>The method setColor(int, null) is undefined for the type Drawable</code> .</p>
  
  <p>How could I modify the above codes to make it works? Thanks!</p>