显示每个程序启动时可绘制的分辨率密度减半

时间:2011-04-05 13:40:51

标签: android resolution drawable

我有一个Android应用,它使用自己资源文件夹中的drawable和来自共享用户ID 链接的包的resources文件夹。

每次应用程序运行时,我都面临着减少的drawables'像素密度(导致插值假象)只有自己的资源**,而那些链接的***看似正常。

第10次执行应用程序,它崩溃了*。 然后第一次加载显示原始密度的所有图像。

该应用程序基于SDK 1.6版,没有特定的密度依赖资源,这意味着严格设计为320 x 480px。 该问题确实既不出现在具有如上所示匹配的显示尺寸的设备上,也不出现在具有匹配和更大显示尺寸的仿真器中。在最后一种情况下,图像被正确缩放以适合。

我不知道(在代码中)在哪里开始寻找该bug的原因。

提前感谢任何提示!


编辑:
我还应该提到,在重新加载应用程序时,几个对话框(例如ProgressDialog)的大小是以前的一半。

*应用程序崩溃时的日志输出:

ERROR/AndroidRuntime(23632): FATAL EXCEPTION: main ERROR/AndroidRuntime(23632): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.Paketliste}: android.view.InflateException: Binary XML file line #20: Error inflating class <unknown> ERROR/AndroidRuntime(23632): Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class <unknown> ERROR/AndroidRuntime(23632): Caused by: java.lang.reflect.InvocationTargetException ERROR/AndroidRuntime(23632): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/buttons.png from drawable resource ID #0x7f020016 ERROR/AndroidRuntime(23632): Caused by: java.lang.IllegalArgumentException: width and height must be > 0 WARN/ActivityManager(2461): Force finishing activity com.myapp/.Paketliste


* *这些行加载的图像如上所述:

ImageView imageView_IconOfAnotherPackage = (ImageView) row
  .findViewById(R.id.paketliste_installed);

imageView_IconOfAnotherPackage
  .setImageResource(R.drawable.default_icon);

* * *加载显示无问题的图像:

imageView_IconOfAnotherPackage
  .setImageDrawable(this
    .getPackageManager()
    .getResourcesForApplication('com.myotherapp')
    .getDrawable(0x7f020001)
  );

1 个答案:

答案 0 :(得分:1)

我找到了一个帖子,其中一个人可能会遇到同样的问题(并找到解决方案):

http://adrianvintu.com/blogengine/post/Force-Locale-on-Android.aspx

(通过这个回答:Set-up the application Language in Android Preferences