我注意到,RelativeLayout对象的setBackground方法针对API 16(
Android 4.1)和更高版本,但我的应用程序具有目标API 8,我无法使用它.
是否有任何替代方案解决此问题(除了使用TargetApi(16)标记类/方法或更改清单中的目标API)?
谢谢!
编辑:Eclipse是错误的,它显示了与setBackgroundDrawable相同的错误,但现在它似乎工作.感谢您的帮助.
解决方法
使用以下之一:
> .setBackgroundColor(int)
(如果你把它设置为一种颜色)
> .setBackgroundDrawable(Drawable)
(如果您将其设置为可绘制类型;这已被弃用,并被.setBackground(Drawable)
替换)
> .setBackgroundResource(int)
(用于从R.java设置资源)
如果您使用第二个,请确保对您的API版本进行条件检查:
if (Build.VERSION.SDK_INT >= 16) view.setBackground(...); else view.setBackgroundDrawable(...);
…并用@TargetApi(16)和@SuppressWarnings(“deprecation”)标记.