首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解析被弃用的setBackgroundDrawable

如何解析被弃用的setBackgroundDrawable
EN

Stack Overflow用户
提问于 2016-02-07 19:09:06
回答 3查看 8.3K关注 0票数 1

在Android Studio上,它一直在说setBackgroundDrawable()以及getWidthgetHeight都被弃用了。

我该如何解决这个问题?

代码语言:javascript
运行
复制
ivImage.setBackgroundDrawable(gd);
    Display display = getWindowManager().getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();
EN

回答 3

Stack Overflow用户

发布于 2016-02-07 19:20:10

只需阅读该函数的文档,然后按照它们告诉您的做。对于ImageView.setBackgroundDrawable,文档告诉您使用setBackground

1级接口增加

公共空setBackgroundDrawable (可绘制背景)

此方法在API级别16中已弃用。请改用setBackground(可绘制的)。

对于Display上的getWidthgetHeight,文档告诉您这样做:

级别1中添加了公共int getWidth ()

此方法在API级别13中已弃用。请改用getSize(Point)。

这可以归结为

代码语言:javascript
运行
复制
Point point = null;
getWindowManager().getDefaultDisplay().getSize(point);
int width = point.x;
int height = point.y;
票数 4
EN

Stack Overflow用户

发布于 2016-02-07 19:18:05

只需用.setBackground(gd);替换.setBackgroundDrawable(gd);即可

这很可能会解决你的问题

代码语言:javascript
运行
复制
ivImage.setBackground(gd);
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
票数 3
EN

Stack Overflow用户

发布于 2016-11-09 18:32:19

如果你有一个资源id,那么我们可以使用setBackgroundResource(),它是API level 1

代码语言:javascript
运行
复制
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    setBackgroundDrawable();
} else {
    setBackground();
}

根据sourcesetBackground()只调用setBackgroundDrawable()

代码语言:javascript
运行
复制
 public void setBackground(Drawable background) {
    setBackgroundDrawable(background);
  }

@Deprecated 
public void setBackgroundDrawable(Drawable background) { ... }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35252706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档