位图缩放以适​​应不同的屏幕尺寸/密度

时间:2011-04-20 15:59:01

标签: android screen-resolution

我真的不了解所有关于像素密度和设备独立像素的事情,我想知道我是否应该为此担心。

更具体地说,以下是我的应用程序现在的工作方式:

  • 对于“布局屏幕”,我使用的是RelativeLayout或LinearLayout,我从不使用像素或dp,所以我猜这在每台设备上看起来都不错
  • 对于主游戏屏幕,屏幕上只有SurfaceView。使用onSurfaceCreated()给出的值(像素或dp?我不知道),我计算游戏中每个元素的大小和位置,然后加载位图(使用BitmapFactory.decodeResource()然后{ {1}})并使用Bitmap.createScaledBitmap()
  • 将它们放在屏幕上

我在手机(480×800 hdpi)和模拟器(240×320 mdpi)上进行了测试,两者看起来都不错。

我的问题是:

  • 这是正确的做法吗?我不明白为什么(以及为什么)我可以使用某些设备是hdpi而其他设备是mdpi的事实。
  • 我应该为不同的屏幕密度提供不同的位图,为什么? (现在我的所有内容都在drawBitmap()
  • 我的.png应该有多大?我可以创建比预期尺寸大得多的(2×),以确保它看起来不会模糊或混淆吗?

1 个答案:

答案 0 :(得分:0)

我对此的了解是有限的,因为我从未开发过游戏..因为我认为你在做。

  

这是正确的做法吗?我做   不明白我能怎样(以及为什么)   使用某些设备的事实   hdpi和其他人都是mdpi。

使用此信息,您可以自动加载不同的图像。你可以找到目录:

抽拉-HDPI 绘图资源,MDPI ...

  

我应该提供不同的位图吗?   不同的屏幕密度,为什么?   (现在我把一切都搞定了   RES /抽拉-HDPI)

如果你全部都在hdpi中,那么图像将会缩小,我认为,由于缺乏特定的图像,所以图像会缩小。提供图像可以让您更好地控制最终产品,并且可以减少处理。

  

我的.png应该有多大?我可以吗   创造它们比(2×)更大   他们的预期规模,以便   确保这看起来不会模糊或   混叠

我认为它们可以正是所需的尺寸。但正如我上面说的那样......经验不多。