Android – 以编程方式设置布局背景

我注意到,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”)标记.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...