根据屏幕尺寸j2me调整屏幕元素

时间:2012-10-17 06:48:59

标签: java-me

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

如果您使用的是Canvas,则应该使用sizeChanged方法获取屏幕属性,但要注意某些手机无法正常调用它,并且简单的黑客行为会有所帮助:

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

上发表过关于此的博文