Java me 如何在j2me中防止屏幕旋转?

Java me 如何在j2me中防止屏幕旋转?,java-me,rotation,Java Me,Rotation,我在用j2me编程。 如何在j2me中防止所有支持屏幕旋转的手机的屏幕旋转 谢谢。如果您使用画布绘制屏幕(不是LCDUI,不是LWIIT,不是任何其他框架),您可以实现sizeChanged方法,以便在旋转发生时收到通知。 在这种情况下,您可以将屏幕绘制到一个图像上,并使用Sprite旋转它。例如,为了仅支持横向模式,我在构造函数中使用了以下代码: int width = Math.max(super.getWidth(), super.getHeight()); int height

我在用j2me编程。 如何在j2me中防止所有支持屏幕旋转的手机的屏幕旋转


谢谢。

如果您使用画布绘制屏幕(不是LCDUI,不是LWIIT,不是任何其他框架),您可以实现sizeChanged方法,以便在旋转发生时收到通知。 在这种情况下,您可以将屏幕绘制到一个图像上,并使用Sprite旋转它。例如,为了仅支持横向模式,我在构造函数中使用了以下代码:

int width = Math.max(super.getWidth(), super.getHeight()); int height = Math.min(super.getWidth(), super.getHeight()); // screen and sprite are attributes screen = Image.createImage(width, height); sprite = new Sprite(screen); if (super.getWidth() < super.getHeight()) { // portrait screen sprite.setTransform(Sprite.TRANS_ROT90); sprite.setPosition(0, 0); } int width=Math.max(super.getWidth(),super.getHeight()); int height=Math.min(super.getWidth(),super.getHeight()); //屏幕和精灵是属性 screen=Image.createImage(宽度、高度); 精灵=新精灵(屏幕); 如果(super.getWidth() public void sizeChanged (int w, int h) { // lastWidth and lastHeight are attributes lastWidth = w; lastHeight = h; if (sprite == null) return; if (super.getWidth() < super.getHeight()) { // portrait screen sprite.setTransform(Sprite.TRANS_ROT90); } else { sprite.setTransform(Sprite.TRANS_NONE); } sprite.setPosition(0, 0); } protected void paint(Graphics g1) { if (super.getWidth() != lastWidth || super.getHeight() != lastHeight) { sizeChanged(super.getWidth(), super.getHeight()); } Graphics g = screen.getGraphics(); // ... do your drawing on g this.sprite.setImage(screen, screen.getWidth(), screen.getHeight()); sprite.paint(g1); } 公共空间大小更改(内部w、内部h){ //lastWidth和lastHeight是属性 最后宽度=w; 最后高度=h; if(sprite==null)返回; 如果(super.getWidth()如和所示,如果使用画布绘制屏幕(不是LCDUI、不是LUIT、不是任何其他框架),则可以实现sizeChanged方法,以便在旋转发生时收到通知。 在这种情况下,您可以将屏幕绘制到一个图像上,并使用Sprite旋转它。例如,为了仅支持横向模式,我在构造函数中使用了以下代码:

int width = Math.max(super.getWidth(), super.getHeight()); int height = Math.min(super.getWidth(), super.getHeight()); // screen and sprite are attributes screen = Image.createImage(width, height); sprite = new Sprite(screen); if (super.getWidth() < super.getHeight()) { // portrait screen sprite.setTransform(Sprite.TRANS_ROT90); sprite.setPosition(0, 0); } int width=Math.max(super.getWidth(),super.getHeight()); int height=Math.min(super.getWidth(),super.getHeight()); //屏幕和精灵是属性 screen=Image.createImage(宽度、高度); 精灵=新精灵(屏幕); 如果(super.getWidth() public void sizeChanged (int w, int h) { // lastWidth and lastHeight are attributes lastWidth = w; lastHeight = h; if (sprite == null) return; if (super.getWidth() < super.getHeight()) { // portrait screen sprite.setTransform(Sprite.TRANS_ROT90); } else { sprite.setTransform(Sprite.TRANS_NONE); } sprite.setPosition(0, 0); } protected void paint(Graphics g1) { if (super.getWidth() != lastWidth || super.getHeight() != lastHeight) { sizeChanged(super.getWidth(), super.getHeight()); } Graphics g = screen.getGraphics(); // ... do your drawing on g this.sprite.setImage(screen, screen.getWidth(), screen.getHeight()); sprite.paint(g1); } 公共空间大小更改(内部w、内部h){ //lastWidth和lastHeight是属性 最后宽度=w; 最后高度=h; if(sprite==null)返回; 如果(super.getWidth() 对于诺基亚设备: 诺基亚MIDlet应用程序定位:横向

对于三星设备: MIDlet屏幕模式:横向添加到清单

对于诺基亚设备: 诺基亚MIDlet应用程序定位:横向

对于三星设备:
MIDlet ScreenMode:scape

在屏幕上显示您希望防止旋转的代码这确实是一个比看起来更大的问题。您需要告诉我们您是使用Form、Canvas还是LWUIT,并确认您在说“所有电话”时是认真的,因为这实际上可能意味着没有解决方案。在屏幕上显示您希望防止旋转的代码这确实是一个比看起来更大的问题。您需要告诉我们您是在使用Form、Canvas还是LWUIT,并确认您在说“所有电话”时是认真的,因为这实际上可能意味着没有解决方案。