3

android:screenOrientationを静的に使用し、setRequestedOrientationをプログラムで使用して方向を設定できることを知っています。ただし、問題は、これらのいずれかを使用して画面の向きを設定すると、必要な横向きまたは縦向きを選択できないことです。つまり、電話を180度反転しても、ビューは回転せず、ユーザーには逆さまに表示されます。screenOrientation = "sensor"を使用することはできません。これは、ビューを横向きまたは縦向きにしたい場合があり、両方を使用することはめったにないためです。外部ハードウェアを検討するまで、これは重要ではないようです。

アプリを開発してレイアウトをandroid:screenOrientation = "landscape"に設定した場合、ドロイドの左側が机の上にある場合にのみアプリが正しく表示されます。残念ながら、左側はUSBポートがある場所であるため、プラグを差し込んだ場合、電話はその側にうまく収まりません。もちろん、ドッキングステーションを使用していない限り、それは私が探している種類の助けではありません。電話機の右側がコードを受け入れるために机の上に座っている場合、ディスプレイは上下逆に表示されます。画像を投稿してみましたが、新規ユーザーなので投稿できませんでした。

私が知りたいのは、どの横向き(Surface.ROTATION_90、Surface.ROTATION_270)または縦向き(Surface.ROTATION_0、Surface.ROTATION_180)をプログラムで選択するかです。アプリの設定アクティビティ。私はかなり長い間グーグルで検索してきましたが、方向/回転がいつ何に変わったかを知らせるセンサーしか見つかりませんが、プログラムで設定する方法を示すものはありません。

4

0 に答える 0