我有一个为Droid (手机)开发的应用程序。在应用程序中,我使用:
位图b= BitmapFactory.decodeResource(getResources(),R.drawable.bg);
若要在应用程序中设置背景位图,请执行以下操作。位图大小为480x800,这是Droid的WVGA屏幕大小(没有状态栏或标题栏)。
两个问题:当我旋转手机,Droid进入景观模式和背景不再适合正确。当我不使用布局时,我如何告诉应用程序它需要使用景观模式?
第二,当我在Xoom上运行这个应用程序时,它会选择mdpi绘图,它与Xoom屏幕的大小相差甚远。如何定义具有1280x800大小的第二个mdpi绘图?我想如果我使用布局,我会创建一个布局-xlarge目录,并在该布局的图像视图中放置一个1280x800背景,对吗?
谢谢!
更新*:谢谢你的伟大答案!我让每个人都失望了。我更新了用于Xoom的可绘制-xlarge-port/drawable xlarge-land的代码,并对Droid使用了drawable port/drawable land-mdpi。
我不使用布局,因为我需要直接绘制到活动画布上,并且不确定如何在类中使用setContentView(),在类中扩展视图并将其挂钩到onDraw()中,以完成动画(需要单独发布)。
如果我能自己弄清楚如何旋转图像,我确实可以取消可绘制的-*-land和*-端口目录。
发布于 2011-04-04 15:21:44
当我旋转手机,Droid进入景观模式和背景不再适合正确。当我不使用布局时,我如何告诉应用程序它需要使用景观模式?
如果你总是检测到旋转,那么设备类就是要走的路。
第二,当我在Xoom上运行这个应用程序时,它会选择mdpi绘图,它与Xoom屏幕的大小相差甚远。如何定义具有1200x800大小的第二个mdpi绘图?
您可以使用依赖于设备分辨率的各种图像文件夹: ldpi、mdpi、hdpi或xhdpi。您应该看看下一页,以获得对各种分辨率和屏幕大小的适当支持。
发布于 2011-04-04 15:22:24
差不多就是这样了。您可以混合在肖像,景观,和其他修饰语,也。不要忘记在绘图和布局(以及其他资源目录)中使用它们。如果它是相同的布局和不同的绘图,那么您只需要将它应用于绘图,例如。
您需要查看资源目录的文档,并使用大小和方向目录修饰符。
例如:
drawable-land-mdpi
drawable-xlarge-land
layout-port-mdpi诸如此类
有关更多信息,请参见:
http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources support.html#qualifiers
https://stackoverflow.com/questions/5540538
复制相似问题