私はj2meでプログラミングしています。画面の回転をサポートするすべての電話で、j2me で画面の回転を防ぐにはどうすればよいですか?
ありがとう。
Canvas を使用して画面を描画する場合 (LCDUI、LWUIT、その他のフレームワークではありません)、sizeChanged メソッドを実装して、回転が発生したときに通知されるようにすることができます。
このような場合、画面を画像に描画し、スプライトを使用して回転させることができます。たとえば、ランドスケープ モードのみをサポートするには、コンストラクターで以下のコードを使用しました。
int width = Math.max(super.getWidth(), super.getHeight()); int height = Math.min(super.getWidth(), super.getHeight()); // screen と sprite は属性 screen = Image.createImage(幅、高さ); sprite = new Sprite(スクリーン); if (super.getWidth() < super.getHeight()) { // 縦画面 sprite.setTransform(Sprite.TRANS_ROT90); sprite.setPosition(0, 0); }
そして次の方法:
public void sizeChanged (int w, int h) { // lastWidth と lastHeight は属性です lastWidth = w; 最後の高さ = h; if (スプライト == null) 戻ります。 if (super.getWidth() < super.getHeight()) { // 縦画面 sprite.setTransform(Sprite.TRANS_ROT90); } そうしないと { sprite.setTransform(Sprite.TRANS_NONE); } sprite.setPosition(0, 0); } 保護されたボイド ペイント(グラフィックス g1) { if (super.getWidth() != lastWidth || super.getHeight() != lastHeight) { sizeChanged(super.getWidth(), super.getHeight()); } グラフィック g = screen.getGraphics(); // ... g で描画します this.sprite.setImage(screen, screen.getWidth(), screen.getHeight()); スプライト.ペイント(g1); }
http://smallandadaptive.blogspot.com.br/2009/08/fullscreen-landscape.htmlおよびhttp://smallandadaptive.blogspot.com.br/2010/03/adapting-to-sizechanged.htmlおよびhttpで見られるように://smallandadaptive.blogspot.com.br/2011/04/sizechanged-not-call.html
マニフェストに追加
Nokia デバイスの場合: Nokia-MIDlet-App-Orientation : Landscape
Samsung デバイスの場合: MIDlet-ScreenMode : Landscape