デバイスでHelloWorldサンプルアプリケーションをランドスケープモードでのみ実行したい。
デバイスが縦向きに変わったら、トースターを1つ上げたいと思います。たとえば、「アプリケーションを実行するには、ランドスケープモードに変更してください」などです。
どうすればよいですか?
これをマニフェストファイルのアクティビティタグに追加します。
Android:screenOrientation="landscape"
向きが横向きに固定され、ユーザーに乾杯を表示する必要はありません。
マニフェストファイル(xml)内
<activity Android:name=".ActivityName" Android:screenOrientation="landscape">
</activity>
これも参照してください 向きが変わったためにonCreateが呼び出されたことを確認できますか?
あなたはこのようなことを試みるかもしれません
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.v("log_tag", "display width is "+ width);
Log.v("log_tag", "display height is "+ height);
if(width<height){
Toast.makeText(getApplicationContext(),"Device is in portrait mode",Toast.LENGTH_LONG ).show();
} else {
Toast.makeText(getApplicationContext(),"Device is in landscape mode",Toast.LENGTH_LONG ).show();
}
画面の向きの変更をキャッチするアクティビティに configChanges
-属性を使用できます。
その後、向きが変わると、アクティビティの onConfigurationChanged()
- method が呼び出されます。
現在表示されている向きを確認するには、次の古い投稿を確認してください: Android電話 で向きを確認してください
その後、メッセージを披露したり、好きなことをしたりできます(もちろん、横向きでのみ表示するように設定することもできます)。