2011-11-01 85 views
0
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){ 
    setContentView(R.layout.login); 
} 
else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) 
       setContentView(R.layout.login); 
} 

我有2個login.xml(一個在佈局文件夾中,另一個在layout-land文件夾中)。當我第一次運行程序時它工作正常(例如在PORTRAIT模式下),當我旋轉設備時它不會調用LANDSCAPE模式。它只是旋轉相同的login.xml。 有沒有解決方法?處理旋轉?

回答

1

請RES /佈局一個login.xml,另一個在res /佈局和土地刪除if else條件只是把:

setContentView(R.layout.login) 

時的設備的取向改變,Android將會自動加載相應的XML文件.. 它工作在我的情況...

1

,如果你個人有T我在佈局和佈局土地中使用相同名稱的xml文件,活動將知道獲得適當的佈局,您不需要對方向更改進行測試。

0

你應該保持在不同的文件夾res/layout這兩個文件,另一個在res/layout-land,只是寫:

setContentView(R.layout.login) 

,或者,如果仍不能工作,那麼你可以使用相同的代碼與差異佈局路徑

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){ 
    setContentView(R.layout.login); 
} 
else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) 
       setContentView(R.layout-land.login); 
}