2012-03-13 74 views
1

我已經爲android 7 incs tablet實現了一個應用程序。在我的應用程序中,我在layout-land和layout-port目錄中使用了兩種類型的佈局,它們具有相同的xml名稱和不同的設計。當我將肖像更改爲景觀時,如何獲得景觀視圖?

在這個應用程序中,平板電腦視圖默認爲橫向模式,當我改變模擬器的方向時,視圖從layout-port調用肖像xml,如果再次改變模擬器方向,它不會從佈局 - 土地。

我已經實現了我的應用程序如下:

if(wm.getDefaultDisplay().getOrientation()==1){ 
     //portrait view code 
     } 

     else{ 
      //landscape view code 
       } 
從上面的邏輯,我可以得到從景觀爲縱向視圖

,但我不能得到相同的觀點縱向到橫向。

當我將風景改爲風景風景時,如何獲得我的土地風景視圖?

請任何身體幫我嗎?

+0

也許有些錯誤,當你膨脹的佈局?通常,如果您正確實施碎片,則不需要getOrientation()函數。請發佈更多的代碼! – ramdroid 2012-03-13 09:13:54

回答

2

這似乎是模擬器的問題。您不必從代碼實現方向更改,因爲系統默認具有此行爲。只需將您的xml文件放在layout-land和layout-port中,並在真實的設備上工作就可以了。

的錯誤已被報道,你可以看到這個here

1

您可以使用此代碼:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

也許還可以設置這在您的清單下活動:

android:configChanges = "orientation" 
+0

我應該在onCreate()還是在counditon上使用上述條件? – 2012-03-13 09:15:31

+0

我會使用if條件,那麼你對它有更多的控制。 – Bigflow 2012-03-13 09:25:42