3

キャンバスを使用していくつかのものを描画するために SurfaceView を使用しています。問題は、デフォルトですべてを水平に表示し、デバイスの位置に関係なくそのままにしたいことです。SurfaceView を表示するためにレイアウト XML ファイルを使用していません。代わりに、SurfaceView を拡張するクラスがあり、それsetContentView(new Panel(this));を表示します。

ご協力いただきありがとうございます。

4

1 に答える 1

6

問題は、アクティビティがデバイスまたはキーボードの位置に基づいて回転することです (これがどのデバイスであるかによって異なります)。アクティビティでローテーションを無視する場合は、このアクティビティのマニフェストにandroid:screenOrientation="portrait"またはを追加します。android:screenOrientation="landscape"アクティビティに追加することもandroid:configChanges="keyboardHidden|orientation"できます。これにより、ユーザーが方向を変更したときに、Android がアクティビティを破棄して再作成する必要がなくなります。

これに関連するサンプル プロジェクトについては、こちらこちらを参照してください。

于 2010-05-01T18:47:18.293 に答える