【问题标题】:Set screen resolution for canvas/surfaceview为画布/表面视图设置屏幕分辨率
【发布时间】:2012-07-25 08:20:07
【问题描述】:

我正在尝试为 android 中的手机应用程序创建动画,并创建了一个 320pix 高的图像。但是当他出现在我的 Galaxy S3 上的 0,0 位置时,他有点小……(人像模式和风景模式)。我宁愿不为如此高分辨率创建大图像,那么有没有办法将屏幕分辨率设置为 640x480 或 1024x768 之类的东西?目前它似乎处于最高分辨率。

我是 Java 和 android 的新手。 (.Net 背景)。我正在使用 Canvas 和 SurfaceView。我希望有一个 SetResolution 类型的方法...希望有人可以提供帮助。

【问题讨论】:

    标签: java android


    【解决方案1】:

    您无法轻松更改屏幕分辨率(如果您正在尝试这样做)。

    因此,您要么需要创建更大的图片,要么将其缩放到所需的屏幕尺寸。

    您应该熟悉 Android 上的所有密度和分辨率。我强烈推荐阅读Supporting Multiple Screen Sizes 上的 Android 开发者文档。它确实包含有关该主题的许多有用信息。

    它还可以帮助您了解 Android 如何为您调整图像大小。

    简而言之,一些关于如何自己做的信息:

    您可以将SurfaceHolder.Callback 添加到您的SurfaceView 中的SurfaceHolder 使用中。这个回调有一个method,当屏幕分辨率改变时被调用。您可以创建一个静态类,将新的屏幕尺寸传递给该类。这个类可以计算屏幕的比例,你可以假设你总是使用 800x480 的屏幕(或任何你喜欢的)。您使用double MyCoord.x(int) 之类的方法。你传递一个 x 坐标——在你假设的 800x480 屏幕内——并且该方法返回屏幕上的真实坐标,根据你从SurfaceHolder.Callback 传递给静态类的大小。

    那将是您拥有的一种可能性。要找到更详细的解释和更多的可能性,你应该阅读开发者文档,在我看来,它在大多数主题上都有很好的例子:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      相关资源
      最近更新 更多