【发布时间】:2012-10-18 01:06:32
【问题描述】:
我在 j2me 中开发了一个应用程序,它应该可以在诺基亚、三星等不同的手机上运行。支持 .jar 文件,它可以完美运行,但是对于某些三星设备,屏幕比诺基亚的手机扩展得更多,所以呢我想做的是在开始时以某种方式获取屏幕属性,以便我可以根据它调整我的文本和图像以使其适合所有类型的设备,知道我该怎么做吗?谢谢
【问题讨论】:
标签: java-me
我在 j2me 中开发了一个应用程序,它应该可以在诺基亚、三星等不同的手机上运行。支持 .jar 文件,它可以完美运行,但是对于某些三星设备,屏幕比诺基亚的手机扩展得更多,所以呢我想做的是在开始时以某种方式获取屏幕属性,以便我可以根据它调整我的文本和图像以使其适合所有类型的设备,知道我该怎么做吗?谢谢
【问题讨论】:
标签: java-me
如果您使用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 写了一篇博客
【讨论】: