2014-01-06 113 views
0

在我的應用程序中,大部分活動都有固定的佈局 - 肖像。 所以我在manifest提到過:屏幕取向處理

<activity 
    android:name="com.example.activity5" 
    android:screenOrientation="portrait" /> 

但在一個或兩個活動,我已經展示景觀佈置也,在默認情況下,該活動在縱向模式下打開這樣的方式。但是,如果用戶將手機向左/向右傾斜,它將變爲橫向。 (如果用戶將手機顛倒過來,則活動不應進入肖像模式)。

也就是說,我基本上想要3方向的方向改變。默認(Potrait)&左 - 右(風景)。

那麼,我需要在我的代碼& xmls中做什麼更改?

  1. 我應該選擇 「sensorPortrait」 OR 「sensorLandscape」
  2. 我應該使用Android:configChanges = 「方向」

我試過幾個步驟,但他們拋出空指針異常。

我不知道我錯過了什麼。

P.S.兩種方向都有不同的佈局。

謝謝

回答

0

我想你想這樣做:

1)只是刪除android:screenOrientation="portrait",並

2)在你的代碼中的onCreate(),添加this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

- (不相關)邊注 -

要強制使用此景觀:

<activity android:name="com.example.activity5" 
      android:screenOrientation="landscape" 
      android:configChanges="orientation|keyboardHidden" /> 
0

寫入Main.class(OnCreate中):

setContentView(R.layout.activity_main); 
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);