2012-10-08 78 views
12

我們可以有不同的xml for landscape和不同的xml用於縱向定位嗎?不同的橫向和縱向設計android

我正在研究一個簡單的應用程序,有幾個按鈕和文字瀏覽,xml在肖像中看起來不錯,但是當我檢查橫向時,使用相同的xml,設計看起來不太好。

任何建議表示讚賞.. 謝謝。

回答

34

是的,當然。

您將不得不創建兩個版本的xml文件,並放入res文件夾中的layout-port和layout-land文件夾中。

如:

res/layout [Portrait Mode; default] 
main.xml 
res/layout-land [Landscape Mode] 
main.xml 

您可以進一步指在同一處http://developer.android.com/training/basics/supporting-devices/screens.html

+0

對不起,遲到的答覆! 非常感謝! 很好用! :) – Aadi

5

如果你不想再拍佈局的風景,然後把它放在

res -> layout-land文件夾。

xml的名稱必須相同,用於縱向和橫向。

+0

對不起,延遲迴復!非常感謝 ! :) – Aadi

1
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_screen_orientation_app); 
    if(getResources().getDisplayMetrics().widthPixels>getResources().getDisplayMetrics(). 
      heightPixels) 
     { 
      Toast.makeText(this,"Screen switched to Landscape mode",Toast.LENGTH_SHORT).show(); 
     } 
     else 
     { 
      Toast.makeText(this,"Screen switched to Portrait mode",Toast.LENGTH_SHORT).show(); 
     } 
    } 
+1

嘗試添加一些解釋,而不是僅僅添加代碼片段作爲答案 – user2720864

+0

不應該在onStart()中的代碼?我不認爲在打開設備時調用onCreate()。 –

+0

Al Lelopath,當設備旋轉時,活動被完全移除。 OnDestroy被調用,然後Activity被重新啓動。所以是的,onCreate再次被調用 – jb15613

相關問題