私は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