I'm having a problem here. I've just updated from sdk 22 to 23, and the previous version of "getColorStateList()" has been deprecated.
My code was like this
seekBar.setProgressTintList(getResources().getColorStateList(R.color.bar_green));
valorslide.setTextColor(getResources().getColorStateList(R.color.text_green));
The older "getColorStateList" was
getColorStateList(int id)
And new one is
getColorStateList(int id, Resources.Theme theme)
How do I use the Theme variable? Thanks in advance
The Theme object is the theme that is used to style the color state list. If you aren't using any special theming with individual resources, you can either pass null
or the current theme as follows:
TextView valorslide; // initialize
SeekBar seekBar; // initialize
Context context = this;
Resources resources = context.getResources();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
seekBar.setProgressTintList(resources.getColorStateList(R.color.bar_green, context.getTheme()));
valorslide.setTextColor(resources.getColorStateList(R.color.text_green, context.getTheme()));
} else {
seekBar.setProgressTintList(resources.getColorStateList(R.color.bar_green));
valorslide.setTextColor(resources.getColorStateList(R.color.text_green));
}
If you don't don't care about the theme, you can just pass null:
getColorStateList(R.color.text_green, null)
See the documentation for more explanation. Note, you only need to use the new version on API 23 (Android Marshmallow) and above.