为了账号安全,请及时绑定邮箱和手机立即绑定

AndroidgetResources().getDrawable()被弃用的API 22

AndroidgetResources().getDrawable()被弃用的API 22

BIG阳 2019-07-01 11:25:08
AndroidgetResources().getDrawable()被弃用的API 22使用新的AndroidAPI 22getResources().getDrawable()现在不受欢迎了。现在最好的方法是只使用getDrawable().什么改变了?
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

我的博客想要更完整的解释


您应该使用支持库中的以下代码:

ContextCompat.getDrawable(context, R.drawable.***)

使用此方法相当于调用:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    return resources.getDrawable(id, context.getTheme());} else {
    return resources.getDrawable(id);}

从API 21开始,您应该使用getDrawable(int, Theme)方法而不是getDrawable(int),因为它允许您为给定的屏幕密度/主题获取与特定资源ID关联的可绘制对象。打电话给被反对的人getDrawable(int)方法等效于调用getDrawable(int, null).


查看完整回答
反对 回复 2019-07-01
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

替换这一行:getResources().getDrawable(R.drawable.your_drawable)

带着ResourcesCompat.getDrawable(getResources(), R.drawable.your_drawable, null)

编辑

ResourcesCompat现在也不受欢迎了。但你可以用这个:

ContextCompat.getDrawable(this, R.drawable.your_drawable)(这里)this是上下文)

有关更多细节,请访问以下链接:ContextCompat


查看完整回答
反对 回复 2019-07-01
  • 3 回答
  • 0 关注
  • 1416 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信