2016-05-09 79 views
1

我對片段有一個活動。我不知道如何製作佈局,以便在縱向上將它們放在另一個下面,並且在橫向上一個接一個。我是否必須製作兩種佈局,並在「onCreate」方法中檢查方向並渲染適當的方向?或者我應該設置不同的佈局? (就像現在一樣,在縱向視圖中是可以的,但在橫向視圖中它們重疊)。兩個片段在屏幕旋轉中顯示不同的活動

這裏是我的佈局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.apps.rucsi.biorhytm.MainActivity"> 

<fragment android:name="com.apps.rucsi.biorhytm.InputFragment" 
    android:id="@+id/inputFragment" 
    android:layout_weight="1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true"/> 

<fragment android:name="com.apps.rucsi.biorhytm.OutputFragment" 
    android:id="@+id/outputFragment" 
    android:layout_weight="1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true"/> 

結果是縱向:enter image description here

和lanscape它們重疊:enter image description here

回答

0

所以這裏發生了什麼,你設置您的頂部片段要與父親android:layout_alignParentTop="true"的頂部對齊,並且您的底部片段要與第父母的底部android:layout_alignParentBottom="true"。你只是幸運的肖像,他們適合。

你可以做一些事情設置添加到第二個片段,告訴它下面的第一個片段android:layout_toEndOf="@+id/inputFragment"

或者你可以把它們放到線性佈局中。

+0

嗯,我把它們放在一個LinearLayout中,我爲縱向設置垂直方向,爲橫向設置水平方向。沒關係,但是我必須使用2個佈局(例如layout和layout_land)?我無法弄清楚如何在單一佈局中製作適合這兩種情況的方案。 – Rucsi

+0

你只需要垂直方向。如果你旋轉你的手機,「上」的內容也會改變,所以你不需要單獨的layout_land來代替這個 – jbarat

+0

是的,但是在橫向上我不想要下面的圖表,我希望它在表單的右側。垂直方向將其與橫向對齊。如果我錯過了一些東西,我很抱歉,我在Android開發中很新。謝謝您的回答! – Rucsi

相關問題