微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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”)标记.

原文地址:https://www.jb51.cc/android/311251.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐