setBackgroundDrawable()和setBackground()之间的区别
我刚刚将我的Android项目的构建目标升级到API 17,现在我收到有关不推荐使用setBackgroundDrawable的警告。 答案似乎是使用setBackground,但在旧版本中不可用。
使用新方法有什么实际优势,或Google是否只想更改名称? 如果两者的工作方式相同,我认为使用平台版本检查或reflection使我的代码复杂化没有任何意义。
使用新方法有什么实际优势,或Google是否只想更改名称?
他们似乎只想更改名称,看看源代码 :
public void setBackground(Drawable background) { //noinspection deprecation setBackgroundDrawable(background); } @Deprecated public void setBackgroundDrawable(Drawable background) { ... }
所有的工作仍然在setBackgroundDrawable()
。 目前,您可以忽略弃用警告,但要了解在将来的API中,将删除API setBackgroundDrawable()
。
如果您好奇, setBackgroundResource(int resid)
只是从资源ID创建一个drawable并调用setBackground()
(再次调用setBackgroundDrawable()
)…
- 来自App的Android Image Viewer
- 使用空String初始化所有String成员
- Java中复合赋值运算符的运算顺序
- 远程api gae祖先查询
- java.nio.channels.ClosedChannelException
- 如何使用Google API Java客户端向Google Shortener API发送请求并解析JSON响应?
- 如何从asyn调用返回结果
- 无法从包含DEX和Java字节码内容的archive \ app \ libs \ appodeal-2.1.11.jar’创建Android应用程序
- 按“运行应用程序”时出现Gradle错误 – Android Studio 0.4.3