2012-02-29 51 views
-1

歡迎我如何使用onConfigurationChange()在縱向和橫向模式下給出相同的佈局?

我必須強制應用程序只能在肖像模式下工作,但我需要知道用戶何時將手機移動到橫向模式。爲什麼?因爲我使用紋理圖像顯示opengl視圖,並且當用戶將手機位置變爲橫向模式時,我必須旋轉多邊形而不重置活動。然後,我必須強制清單上的肖像模式,因爲我不希望我的onCreate方法被再次調用。

我試着用這個aproach:android:configChanges =「orientation」這會停止重新創建活動,然後重寫onConfigurationChange()方法。當方向發生變化時,該方法將被調用,然後我將根據需要更改圖像。

問題是,當我改變手機的方向時,我的佈局也在變化,我不希望這樣,我想在縱向和橫向模式下給出相同的佈局,並且在實現了我會產生旋轉,旋轉不是問題,因爲我知道如何去做。

我該如何在縱向和橫向模式下使用onConfigurationChange()給出相同的佈局?

回答

0

問題是,這些改變對象出現在佈局中的方向或分佈。

你需要的是在活動屬性中添加文件AndroidManifest.xml

機器人:screenOrientation =「肖像」

有了這個不再允許用戶旋轉屏幕,同時旋轉你的手機。

+0

但如果我使用Android:screenOrientation =「畫像」,則該方法onConfigurationChange()不會被調用....,我需要知道當用戶旋轉手機來撥打我的OpenGL旋轉:S – NullPointerException 2012-02-29 15:45:30

0

,你希望它出現在

res/layout-land/my_layout.xml 
+0

你不明白我的問題 – NullPointerException 2012-02-29 15:48:22

0

Okie,如果我猜測正確,那麼你需要做兩件事情,您可以創建園林的佈局。這樣一來,一旦佈局已經在onCreate方法被設置在方向和一個佈局不改變就足以在活動代碼相同

  1. 添加一個屬性,它要得到定位爲低於

    android:configChanges="orientation|keyboardHidden" 
    
  2. 添加以下功能在活動中沒有做這個功能的任何改變什麼也不做配置的變化

    公共無效onConfigurationChanged(配置NEWCONFIG){ super.onConfigura tionChanged(NEWCONFIG);
    }

+0

請完整閱讀我的問題。我試過了,並沒有工作,當我改變手機的方向時,我的佈局也在變化,我不希望那樣,我想在縱向和橫向模式下都給出相同的佈局, – NullPointerException 2012-02-29 16:01:18

+0

你想要在兩個方向使用相同的XML佈局文件? – Maneesh 2012-02-29 16:04:34

+0

不,我沒有使用XML的,我使用的是GLSurfaceView,它是一個佈局,我需要使用它,而不用重新組織我的屏幕元素,請仔細閱讀問題 – NullPointerException 2012-02-29 16:34:06

相關問題