-1

我正在开发一个应用程序有一个活动有LandscapePortrait模式的两个不同的意见。处理方向的一切都很好,但问题是我想首先显示Landscape模式,然后用户可以更改方向为以后是否以前的活动在Portrait模式。开始在横向模式下的活动,它可以旋转到纵向也

当我强行定义定向landscape在清单或通过调用的onCreatesetRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 则方法onConfigurationChanged

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     // TODO Auto-generated method stub 
     super.onConfigurationChanged(newConfig); 
    } 

不会被调用。

我也曾在清单中定义

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 

任何帮助将明显。

+0

“秀风景模式,然后再用户以后可以改变方向为纵向。”所以,用户处于肖像模式,活动开始风景。如果他们想要肖像,他们需要旋转设备两次? – 2014-09-02 10:44:10

+0

什么是非手动设置方向到风景锁定方向改变,所以onConfigurationChanged方法没有得到调用。尝试使用 – 2014-09-02 12:22:00

回答

0

在活动代码使用OrientationEventListener试试这个替代方案:

private OrientationEventListener orientationEventListener; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    orientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) { 

     @Override 
     public void onOrientationChanged(int orientation) { 

      // .... 

     } 
    }; 

    if (orientationEventListener.canDetectOrientation()) { 
     orientationEventListener.enable(); 
    } 

} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    orientationEventListener.disable(); 
} 
+0

,但这些值不适合定位。 – 2014-09-02 12:08:08

相关问题