AS問題解決系列2—Resources中getDrawable(int)過期

    今天在Android Studio 1.2.2中編譯代碼時遇到Resources中getDrawable(int)已過期的警告信息:html

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


    查看[1]可總結出如下信息:
android

Resources類中有兩個方法在API level 22中被廢棄:函數

    廢棄接口:Drawable getDrawable(int id)spa

    替代接口:Drawable getDrawable(int id, Resources.Theme theme), 第二個參數@theme能夠爲空值.orm

         或Context.getDrawable(int)htm

    廢棄緣由:在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

相關文章
相關標籤/搜索