gpt4 book ai didi

java - setBackgroundDrawable() 和 setBackground() 的区别

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:11 26 4
gpt4 key购买 nike

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

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

最佳答案

Is there any actual advantage to using the new method, or did Google just want to change the name?

他们似乎只想改个名字,看source code :

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

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

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


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

关于java - setBackgroundDrawable() 和 setBackground() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com