随着新的android API 22 getResources().getDrawable()现在已被弃用。
现在最好的方法是仅使用getDrawable()

发生了什么变化?

最佳答案

您可以选择一些方法来正确处理此弃用方法(以及将来的证明),具体取决于要加载的绘图类型:

A)具有主题属性的可绘制对象

ContextCompat.getDrawable(getActivity(), R.drawable.name);

您将按照Activity主题的指示获得样式化的Drawable。
这可能就是您所需要的。

B)不含主题属性的可绘制对象
ResourcesCompat.getDrawable(getResources(), R.drawable.name, null);

您将以旧的方式获得未样式化的可绘制对象。请注意:ResourcesCompat.getDrawable()已被取代,而已被弃用!

( EXTRA)可绘制对象,具有来自另一个主题的主题属性
ResourcesCompat.getDrawable(getResources(), R.drawable.name, anotherTheme);

10-07 19:33