支持多个屏幕 - 黑莓

时间:2010-08-16 18:39:26

标签: blackberry

在开发黑莓应用程序时,我并不太注意能够支持多种屏幕分辨率。所以,我最终得到的代码在320 * 240分辨率下运行良好,但在其他屏幕上完全混乱。

我该如何解决这个问题?或者一般而言,如果不为每个res构建一个构建,您将如何支持多个分辨率?

谢谢,
的Teja。

2 个答案:

答案 0 :(得分:9)

一般尝试做一些事情:

  1. 以磅为单位指定所有字体(使用Ui.UNITS_pt)而不是像素。 BlackBerry设备具有截然不同的像素密度(在相同的物理尺寸屏幕上可以是320 - 480),因此像素在一个屏幕上看起来很小但在另一个屏幕上看起来太大。无论你走到哪里,积分都是相同的物理尺寸。
  2. 根据字体大小缩放UI元素
  3. 如果您有图形元素(徽标等),请尝试使用1或2种不同的尺寸(例如,一个用于水平分辨率<= 320像素的屏幕,一个用于更大的屏幕分辨率)。在您的应用中添加一组额外的图像会使它更大,但不会太多。不要依赖BlackBerry API中的内置缩放算法,它们很慢并且会为大多数图像产生可怕的效果。
  4. 相对于屏幕边缘定位事物(例如,附加到右上角或右下角,或距底部边缘10个像素),而不是使用绝对像素(或点)位置。
  5. 在屏幕/字段的layout方法中计算所有屏幕尺寸。这个方法应该只被调用一次(或者很少次),因此任何计算密集的东西都可以在那里安全地完成。
  6. 如果你记住一些事情真的不错 - 从头开始​​设计这个方法肯定比修复一个专为一个分辨率设计的应用程序更容易。

    最后一个提示:如果你有一个图形/ UI设计师,让他们至少做2-3个不同分辨率的模型。它也会让他们思考所涉及的挑战。

答案 1 :(得分:3)

黑莓开发者网站对如何做到这一点有一些很好的建议。这不是最好的方法,但一种选择是检测设备信息并让应用程序使用它检测到的设备的正确实现。这样做的缺点是必须多次制作应用程序并将所有应用程序存储在应用程序中,从而使其不必要地膨胀。这可以通过为不同的设备提供不同的下载链接,或者使用他们在网站上列出的一些建议来避免:

Designing and developing for different BlackBerry devices and software versions