资源$ NotFoundException drawable-xhdpi来自drawable资源

Mar*_*kus 7 android android-resources

我正在检查我的错误报告,并且我们不时会从我们的应用程序中获取此错误报告.我不能指出实际问题是什么.这个资源确实存在,大多数设备工作正常,但LG-E510或U8815等特定设备无法加载此资源.

有任何想法吗?

android.content.res.Resources$NotFoundException: File res/drawable-xhdpi/action_bar_search_icon.png from drawable resource ID #0x7f02007f
at android.content.res.Resources.loadDrawable(Resources.java:1714)
at android.content.res.Resources.getDrawable(Resources.java:581)
at com.actionbarsherlock.internal.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:384)
at com.actionbarsherlock.internal.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:128)
at com.actionbarsherlock.internal.view.menu.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:192)
at com.actionbarsherlock.internal.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:176)
at com.actionbarsherlock.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:178)
Run Code Online (Sandbox Code Playgroud)

Ian*_*anB 7

正如您所说,如果手机/标签访问xhdpi目录,那么我们希望它适当地缩放图像以适应屏幕.因此,我们希望如果资源存在于任何一个目录中,那么我们将永远不会看到ResourceNotFound异常.然而:

xhdpi仅在Android SDK 8中引入,因此如果您定位SDK 7及更早版本,则可能会遇到问题:

只在Android应用中使用XHDPI drawables?

Android可能无法访问xhdpi目录的另一个原因是设备是否在屏幕兼容模式下运行:

Android - 放在res/drawable-xhdpi中的超大图像没有在平板电脑模拟器上显示,为什么?

另一个可能的原因是,如果您的drawable非常小,并且其中一个尺寸由于缩放而舍入为零:

由于宽度和高度而找不到Android资源

最后,有些OEM版本的Android可能会以非标准的方式实现这一点(例如,如果他们的设备是hdpi,则不通过搜索xhdpi目录来"增强性能"):

Android Drawable hdpi xhdpi mdpi ldpi概念


归档时间:

查看次数:

3799 次

最近记录:

12 年,9 月 前