如何使活动改变方向但保持横向模式

时间:2013-07-14 18:21:22

标签: android android-activity orientation

我希望我的一个屏幕是严格的风景,但是,当设备转向(颠倒)但仍处于横向模式时,我希望我的活动也可以颠倒过来

我该怎么做?

4 个答案:

答案 0 :(得分:4)

尝试android:screenOrientation =“sensorLandscape”

答案 1 :(得分:0)

只需在清单中的活动代码中设置android:screenOrientation =“landscape”即可。这将迫使它成为景观。

答案 2 :(得分:0)

在您的活动中,您必须覆盖ConfigurationChange并使其保持原状。

例如:

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

答案 3 :(得分:0)

这就是我想要的:

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();
    }