画面の 1 つを厳密に横向きにしたいのですが、デバイスをひっくり返して (上下逆さまに) 横向きモードのままにしている場合、アクティビティも上下逆さまにしたいです。
それ、どうやったら出来るの?
画面の 1 つを厳密に横向きにしたいのですが、デバイスをひっくり返して (上下逆さまに) 横向きモードのままにしている場合、アクティビティも上下逆さまにしたいです。
それ、どうやったら出来るの?
android:screenOrientation="sensorLandscape" を試してください
Just set android:screenOrientation="landscape" in your activity tag in the manifest. That will force it to landscape.
アクティビティでは、ConfigurationChange をオーバーライドし、ランドスケープのままにする必要があります。
例えば:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
これは私が欲しかったものです:
OrientationEventListener orientationEventListener = new OrientationEventListener(this,Consts.SENSOR_ORIENTATION_DELAY_MS) {
@Override
public void onOrientationChanged(int orientation) {
Log.d(TAG,"sensor");
if(orientation>Consts.THRESHOLD_FOR_ORIENTATION_CHANGE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
}else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
};
if(orientationEventListener.canDetectOrientation()) {
orientationEventListener.enable();
}