0

我在 j2me 中开发了一个应用程序,它应该可以在诺基亚、三星等不同的手机上运行。支持 .jar 文件,它可以完美运行,但是对于某些三星设备,屏幕比诺基亚的手机扩展得更多,所以我想要要做的是在开始时以某种方式获取屏幕属性,以便我可以根据它调整我的文本和图像以使其适合所有类型的设备,知道我该怎么做吗?谢谢

4

2 回答 2

2

如果您担心绘制自己的文本和图像,那么我猜您的应用程序是基于画布的,对吧?在这种情况下,您可以调用 Canvas 的getWidthgetHeight方法。

于 2012-10-17T07:51:07.557 回答
1

如果您正在使用Canvas,您应该在方法中获取您的屏幕属性sizeChanged,但请注意,有些手机不能正确调用它,一个简单的 hack 会有所帮助:

class MainCanvas extends Canvas {

  int lastWidth, lastHeight;

  protected void sizeChanged(int w, int h) {
    lastWidth = w;
    lastHeight = h;
    // adjust your user interface to the
    // new width and height
    // ...
  }

  protected void paint(Graphics g) {
    if (super.getWidth() != lastWidth
        || super.getHeight() != lastHeight) {
      sizeChanged(super.getWidth(), super.getHeight());
    }
    // paint your user interface
    // ...
  }
}

我已经在http://smallandadaptive.blogspot.com.br/2011/04/sizechanged-not-called.html上写过这个博客

于 2012-10-17T17:06:32.250 回答