我刚刚将我的Android项目的构建目标升级到API 17,现在我正在收到关于不推荐使用setBackgroundDrawable的警告.答案似乎是使用setBackground,但在旧版本中不可用.
使用新方法有什么实际优势,或Google是否只想更改名称?如果两者的工作方式相同,我认为使用平台版本检查或反射使我的代码复杂化没有任何意义.
使用新方法有什么实际优势,或Google是否只想更改名称?
他们似乎只想更改名称,看看源代码:
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }
Run Code Online (Sandbox Code Playgroud)
所有的工作仍然完成setBackgroundDrawable().目前,您可以忽略弃用警告,但要了解将来的API setBackgroundDrawable()将被删除.
如果你很好奇,setBackgroundResource(int resid)只需从资源ID和调用setBackground()(再次调用setBackgroundDrawable())创建一个drawable ...
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |