ポートレートモードで実行しているときに、Androidの単一のビュー(MapView)をプログラムで(XMLではなく)ランドスケープモードに変更することは可能ですか?
アプリにGoogleマップビューがあります。通常、ユーザーはアプリをポートレートモードで実行しますが、現在の状態で地図のビットマップスクリーンショットを撮る機能がありますが、ユーザーが携帯電話を物理的に動かさなくても、横向きにしたいと思います。その後、ビューを元のポートレートに戻します。
ポートレートモードで実行しているときに、Androidの単一のビュー(MapView)をプログラムで(XMLではなく)ランドスケープモードに変更することは可能ですか?
アプリにGoogleマップビューがあります。通常、ユーザーはアプリをポートレートモードで実行しますが、現在の状態で地図のビットマップスクリーンショットを撮る機能がありますが、ユーザーが携帯電話を物理的に動かさなくても、横向きにしたいと思います。その後、ビューを元のポートレートに戻します。
いいえ: 現在、向きはビュー レベルではなく、アクティビティ レベルで処理されます。完全にカスタムのビューを持っている場合は、それを自分で横向きに描画することを選択できます (横向きは、単純に水平方向に長く、垂直方向に短くなります) が、MapView ではそのオプションを取得できません。
drawメソッドを完全に再実装する必要はありません。MapViewサブクラスにカスタム描画メソッドを実装するだけで、Canvasに回転を適用し、super.draw()を呼び出してから、以前のCanvas変換を復元します。シンプル!