getResources().getColorStateList/getDrawable/getColor 过时 Deprecated 的解决方法

Posted Mars-xq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getResources().getColorStateList/getDrawable/getColor 过时 Deprecated 的解决方法相关的知识,希望对你有一定的参考价值。

getResources().getColorStateList 过时的解决方法

//Deprecated
radioButton.setTextColor(getResources().getColorStateList(R.color.tab_txt));


//getResources().getColorStateList :
radioButton.setTextColor(getResources().getColorStateList(R.color.tab_txt, null));
radioButton.setTextColor(getResources().getColorStateList(R.color.tab_txt, getTheme()));


//ResourcesCompat.getColorStateList : 推荐
radioButton.setTextColor(ResourcesCompat.getColorStateList(getResources(), R.color.tab_txt, null));
radioButton.setTextColor(ResourcesCompat.getColorStateList(getResources(), R.color.tab_txt, getTheme()));


//ContextCompat.getColorStateList : 强烈推荐
radioButton.setTextColor(ContextCompat.getColorStateList(this, R.color.tab_txt));

getResources().getDrawable() 过时的解决方法

//Deprecated
radioButton.setBackground(getResources().getDrawable(R.drawable.bg_tab));


//getResources().getDrawable
radioButton.setBackground(getResources().getDrawable(R.drawable.bg_tab, null));
radioButton.setBackground(getResources().getDrawable(R.drawable.bg_tab, getTheme()));


//ResourcesCompat.getDrawable : 推荐
radioButton.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.bg_tab, null));
radioButton.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.bg_tab, getTheme()));


//ContextCompat.getDrawable : 强烈推荐
radioButton.setBackground(ContextCompat.getDrawable(this, R.drawable.bg_tab));

以上是关于getResources().getColorStateList/getDrawable/getColor 过时 Deprecated 的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

不推荐使用 getResources().getColor() [重复]

Android getResources的作用和需要注意点

context.getResources()用法总结

在非活动类中使用 getResources()

在非活动类中使用 getResources()

Android 获取 上下文环境参数 getResources