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