该应用程序在HPDI和MDPI上运行良好,但在LDPI(v2.0)模拟器中运行时,我会在下面获得异常和堆栈跟踪。
为什么要寻找这张图片? (它在我的应用程序中未引用,我已经检查过)。在任何情况下,启动器活动都禁用了标题栏。
如果操作系统需要此图像,为什么不存在?
当仿真器是LDPI时,为什么与MPDI映像有关的异常?
04-20 11:35:19.432: ERROR/AndroidRuntime(236): Uncaught handler: thread main exiting due to uncaught exception
04-20 11:35:19.502: ERROR/AndroidRuntime(236): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spondle/com.spondle.EventsActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2454)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4310)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:513)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
at android.app.Activity.setContentView(Activity.java:1622)
at com.spondle.EventsActivity.onCreate(EventsActivity.java:38)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
... 11 more
Caused by: java.lang.reflect.InvocationTargetException
at android.widget.ImageView.<init>(ImageView.java:105)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
at android.view.LayoutInflater.createView(LayoutInflater.java:500)
... 23 more
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-mdpi/title_bar_shadow.9.png from drawable resource ID #0x7f02002a
at android.content.res.Resources.loadDrawable(Resources.java:1710)
at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
at android.widget.ImageView.<init>(ImageView.java:115)
... 27 more
Caused by: java.io.FileNotFoundException: res/drawable-mdpi/title_bar_shadow.9.png
at android.content.res.AssetManager.openNonAssetNative(Native Method)
at android.content.res.AssetManager.openNonAsset(AssetManager.java:391)
at android.content.res.Resources.loadDrawable(Resources.java:1702)
... 29 more
答案 0 :(得分:3)
如果操作系统需要此图像,为什么不存在?
当模拟器是LDPI时,为什么与MPDI图像有关的异常?
如果drawable-ldpi中没有请求的资源(title_bar_shadow.9.png)(并且直到Android 2.3),Android将尝试找到最佳匹配(drawable-mdpi将是下一个文件夹搜索)。无论如何,该文件也不会在那里找到(再次,它直到Android 2.3才出现)。所以下一步是在drawable-hdpi(可以找到它)中搜索它。但显然搜索停止在drawable-mdpi上(这很奇怪......也许是Android 2.1中的一个错误?你可以试用Android 2.2模拟器)
为什么要寻找这张图片? (它在我的应用程序中未引用,我已经检查过)。起始活动在任何情况下都禁用了标题栏。
标题栏不使用此图像(阴影)。它显示在标题栏下方。 为了让它消失,你必须创建自己的主题,如下所示:
<style
name="Theme"
parent="android:Theme.NoTitleBar">
<item
name="android:windowContentOverlay">@null</item>
</style>
答案 1 :(得分:2)
我解决了这个问题,将drawable-ldpi / mdip / hdpi中的图像副本复制到drawable(只能绘制)文件夹。在此文件夹中输入您的低分辨率图像。
您无需在这些文件夹上添加title_bar_shadow.9.png文件。