码迷,mamicode.com
首页 > 移动开发 > 详细

Android Studio问题解决系列2—Resources中getDrawable(int)过时

时间:2015-07-15 19:27:12      阅读:789      评论:0      收藏:0      [点我收藏+]

标签:

    今天在Android Studio 1.2.2中编译代码时遇到Resources中getDrawable(int)已过时的警告信息:

    Warning:(133, 52) java: android.content.res.Resources中的getDrawable(int)已过时


    查看[1]可总结出以下信息:

Resources类中有两个方法在API level 22中被废弃:

    废弃接口:Drawable getDrawable(int id)

    替代接口:Drawable getDrawable(int id, Resources.Theme theme), 第二个参数@theme可以为空值.

         或Context.getDrawable(int)

    废弃原因:在JELLY_BEAN(也就是Android 4.1版本)之前, 当这里传递的资源ID是另一个Drawable资源的别名, 则该函数不能正确地获取到最终配置density。即别名资源(alias resource)的density配置不同于实际资源的, 返回的Drawable对象的density将不正确, 这样缩放时将出错。

 

    废弃接口:Drawable getDrawableForDensity(int id, int density)

    替代接口:Drawable getDrawableForDensity(int id, int density, Resources.Theme theme)


检查getDrawable(int id)函数实现,当被调用时将输出下面警告信息并给出修改方案

技术分享

参考资料:

[1] Class Resources, http://developer.android.com/intl/zh-cn/reference/android/content/res/Resources.html

Android Studio问题解决系列2—Resources中getDrawable(int)过时

标签:

原文地址:http://my.oschina.net/1pei/blog/478984

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!