getResources().getDrawable()过时问题

渣娃 / 2023-07-02 / 原文

前言

在Android的开发中我们经常会遇到过时的方法,当时为了图快、编译时也不会报错,也就没有去理会。随着慢慢整理代码,看到过时地方确实不美观,也会影响后期的兼容性问题,故特此记录下。本篇记录下关于getResources().getDrawable()过时问题。

 

问题

我们经常会根据不同场景显示不同背景,如下图,使用resource下面的getDrawable()方法会提示过时。

 

解决

1、使用drawable资源

//null的意思:不为其设置theme主题,如果想设置主题,请在此处改为该主题即可
recycler.background = ResourcesCompat.getDrawable(resources, R.drawable.bg_white_cn8, null)

2、使用默认Activity主题

recycler.background = ContextCompat.getDrawable(this, R.drawable.bg_white_cn8)

 

总结