setBackgroundDrawable() 和 setBackground() 之间的区别

2023-12-10

我刚刚将 Android 项目的构建目标升级到 API 17,现在收到有关 setBackgroundDrawable 已弃用的警告。答案似乎是使用 setBackground,但这在旧版本中不可用。

使用新方法是否有任何实际优势,或者谷歌只是想更改名称?如果两者工作相同,我认为通过平台版本检查或反射使我的代码复杂化没有任何意义。


使用新方法是否有任何实际优势,或者谷歌只是想更改名称?

他们好像只是想改个名字,看看源代码:

public void setBackground(Drawable background) {
    //noinspection deprecation
    setBackgroundDrawable(background);
}

@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }

所有工作仍在完成setBackgroundDrawable()。目前,您可以忽略弃用警告,但要了解在未来的某些 API 中setBackgroundDrawable()将被删除。


如果你好奇的话,setBackgroundResource(int resid)只需根据资源 ID 创建一个可绘制对象并调用setBackground()(这再次调用setBackgroundDrawable())...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setBackgroundDrawable() 和 setBackground() 之间的区别 的相关文章

随机推荐