how to change SeekBar color in android? (Programmatically)
To change the color of the Seekbar
thumb, create a new style in style.xml
<style name="SeekBarColor"
parent="Widget.AppCompat.SeekBar">
<item name="colorAccent">@color/your_color</item>
</style>
Finally in the layout:
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/SeekBarColor" />
To change the Seekbar
progress color, use this in Java Class.
seekBar.getProgressDrawable().setColorFilter("yourcolor", PorterDuff.Mode.MULTIPLY);
Both these will work for API>16.
Edit
To change SeekBar thumb color by Java code.
seekBar.getProgressDrawable().setColorFilter(getResources().getColor(R.color.your_color), PorterDuff.Mode.SRC_ATOP);
While using a style is a good idea, it does not provide much flexibility specially if you want to assign the colors programmatically I suggest:
//for the progress
seekBar.getProgressDrawable().setColorFilter(mThemeColor,PorterDuff.Mode.SRC_ATOP);
//for the thumb handle
seekBar.getThumb().setColorFilter(mThemeColor, PorterDuff.Mode.SRC_ATOP);
You can easily change it via code,
For example:
seekbar.setProgressTintList(ColorStateList.valueOf(Color.parseColor(#000000)));
or
seekbar.setProgressTintList(ColorStateList.valueOf(Color.RED));
Hoping that it will be helpfull for someone in future.
You can change seekbar thumb and progress colors for programmatically like this:
seekBar.getProgressDrawable().setColorFilter(Utils.getAccentColor(this), PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Utils.getAccentColor(this), PorterDuff.Mode.SRC_IN);