2016-04-25 61 views
0

有沒有什麼辦法可以直接告訴android哪些佈局資源可以選擇橫向或縱向模式?android佈局風景/不同選項的肖像

我通常知道這很簡單,在「res/layout-land」文件夾的「res/layout」文件夾和橫向「main_layout.xml」中放置普通的「main_layout.xml」。

現在假設我有兩個名爲「main_layout_blue.xml」和「main_layout_red.xml」的佈局。用戶可以選擇其中一個,我可以設置適當的佈局。在方向變化再次一切都很好。

我遇到困難的方式是給用戶一個選項,爲不同的方向設置不同的佈局,如縱向模式下的「main_layout_blue.xml」和橫向模式下的「main_layout_red.xml」。

是否有android選項明確指示系統對縱向使用「res/layout/main_layout_blue.xml」,橫向使用「res/layout-land/main_layout_red.xml」? 我在這裏錯過了什麼?

回答

0

方向變化後,視圖將被重建,所以你可以通過下面的檢查設備的方向:

Activity.getResources().getConfiguration().orientation 

,並根據結果,您可以:

if(portrait) 
     setContentView(R.layout.blue) 
    else 
     setContentView(R.layout.red) 

但請記住將所有資源放在/佈局文件夾中

+0

Hello Pooya。我忘了提到,這是我最喜歡的解決方法。我只是希望有一種方法可以避免明確地傾聽方向變化,方法是事先聲明選擇哪種資源。 – Marchand

+0

@Marchand由於您讓用戶在運行時選擇首選佈局,因此您需要在代碼中添加一些邏輯以查找用戶首選項並將其鏈接到可用的佈局 – Pooya