2013-06-13 71 views
1

我想根據Landscape modeportrait mode調整佈局。肖像模式和風景模式視圖顯示調整與手機尺寸

在我的7'平板設備中,portrait mode太小,Landscape mode相當大。由於小人像模式,列表項目和一些文本混合像按鈕 大小得到減少,一個文本越過另一個,等等。

因此,對於相同的視圖佈局,我想根據不同的設置模式。

例如考慮這個SO帖子One Layout over the Top of Other。我想要這個場景的portrait mode。但是對於Landscape mode,我不希望重疊其中一個視圖。相反,我想在另一邊看到一種觀點。針對不同modes-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <FrameLayout 
       android:id="@+id/news_fragment" 
       android:layout_weight="1" 
       android:layout_width="0dp"    
       android:layout_height="match_parent" /> 

    <FrameLayout 
       android:id="@+id/channel_fragment" 
       android:layout_weight="2" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" /> 

</LinearLayout> 

問題

我的XML佈局文件,這似乎有利於landscape mode但是當涉及到肖像模式,我需要news_fragment得到重疊在channel_fragment

如何實現這種行爲考慮佈局文件是相同的。或者我還必須爲肖像創建一個新的?

回答

2

您只需創建2個不同的佈局文件。您應該閱讀關於此主題的developer guides

基本上你做2個RES /佈局文件夾: res/layoutres/layout-land

然後你景觀添加布局到land文件夾和肖像版本到另一個。

+0

其實我有2個res /佈局文件:'res/layout/activity_main'和'res/layout-large/activity_main'。但前者用於平板設備,後者用於移動設備。我還需要創建2個以上 - 1個用於縱向,1個用於橫向?上述有問題的xml適用於平板設備。 –

+0

@SaurabhJain,是的,但是你可以同時擁有多個選項,比如:res/layout-large-land(有一個順序,不確定這是否正確,但你可以在開發者指南上閱讀它) – Warpzit

+0

起初這很讓人困惑。你知道平板設備在縱向模式下佈局文件的名稱嗎?還是你有任何文檔要看?它是'res/layout-large-port'嗎? –

0

所以根據場景:

我不停地從三種佈局文件夾,即..

  • RES /佈局/ activity_main(用於移動設備)
  • RES /佈局大/ activity_main(用於與人像模式平板裝置)
  • RES /佈局大脊/ activity_main(用於與橫向模式平板裝置)

所有這三個佈局文件都包含根據需要顯示的相應容器。

的訣竅是:

由於layout-large-land的activity_main正在平板設備的橫向方向的照顧,因此的layout-large將默認的activity_main將是 肖像模式。

因此對於移動設備視圖,對於平板電腦不同的方向 - 上述場景最好是 ,並且工作得很好!

相關問題