1

LWUIT を使用して J2ME でアプリケーションを開発します。このアプリケーションを Samsung デバイスに移植すると、次の問題が発生します。

int h = Display.getInstance().getDisplayWidth();

Samsung GT S5250 の場合は 388 を返します。したがって、この寸法を使用して画像を描画すると、画面の下部に白い帯が表示されます。を呼び出すと、Form.show()正しく表示され、高さが 400 になるので、この問題を解決する方法を教えてください。FormLWUIT でのサイズの計算方法とMenuBar、画面下部の高さと白い帯の表示方法を知りたいです。

4

1 に答える 1

1

getDisplayWidth()入力するつもりの場所に入力したと思いますgetDisplayHeight()

とにかく、あなたが見ている問題はサムスンデバイスのバグが原因です。LWUITはMIDPでフルスクリーンモードを呼び出し、ネイティブタイトル領域を非表示にしますが、一部のデバイスではすぐに発生するとは限らないため、LWUITはデバイスから誤った情報を取得します。通常、更新によってこれが解決され、LWUITが画面に描画するまでにサイズが修正されます。

一般に、解決策はかなり単純です。画像を作成するための一般的なコードを作成し、画面に描画しようとしているときに画像のサイズが不適切な場合は、その場で画像を再作成します。これにより、問題を引き起こす可能性のあるデバイスの回転の問題も解決されます。

于 2011-11-13T12:32:00.700 に答える