0

私はj2meでプログラミングしています。画面の回転をサポートするすべての電話で、j2me で画面の回転を防ぐにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

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

于 2012-05-25T11:50:02.053 に答える
1

マニフェストに追加

Nokia デバイスの場合: Nokia-MIDlet-App-Orientation : Landscape

Samsung デバイスの場合: MIDlet-ScreenMode : Landscape

于 2012-05-25T11:51:53.927 に答える