2013-07-03 38 views
0

我有兩個碎片A和B的活動。兩者的寬度都設置爲match_parent。片段B的高度爲200dp,位於片段A的下方。我希望片段A的高度填充活動中剩餘的空間。我怎樣才能做到這一點?任何提示將不勝感激。如何使碎片高度佔用全部剩餘空間

我已經張貼了我activity_main.xml中

<LinearLayout xmlns:tools="http://schemas.android.com/tools" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:baselineAligned="false" 
android:orientation="vertical" 
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=".MainActivity" > 

    <fragment 
     android:id="@+id/image_showing_list" 
     android:name="com.example.gallery.ImageShowingList" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 

<fragment 
    android:id="@+id/image_showing_list_list" 
    android:name="com.example.gallery.ImageShowingList" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" /> 

</LinearLayout> 

回答

0

如果他們是在一個垂直LinearLayout,然後分配android:layout_height="0dp"android:layout_weight="1"到碎片A.

+0

感謝CommonsWare,但我得到這個錯誤信息,當我設置android:layout_height =「0dp」可疑大小:這將使重量不可見,很可能用於layout_width。爲了清楚起見,我發佈了我的activity_main.xml文件。 – Jomeno

+0

@Jomeno:「我已經發布了我的activity_main.xml文件以求清晰」 - 這不是您的整個'activity_main.xml'文件。您可以知道,因爲它不是有效的XML文件,因爲沒有單個根元素。你也會注意到,我的回答是以「如果它們在一個垂直的'LinearLayout'中開始的,你的片段的屬性表明它們在一個'RelativeLayout'中,而不是一個垂直的'LinearLayout'。你可能希望發佈你的* * **整個'activity_main.xml'文件,或至少在容器周圍的兩個''元素 – CommonsWare

+0

我已經使用的LinearLayout沒有成功,但一旦試過我與你設定的Android的答案又試了一次:layout_height =「0dp 「和android:layout_weight =」1「這一切都完全按照我想要的方式工作,非常感謝你,我一直在這個一段時間,我給你的答案豎起大拇指 – Jomeno

1

讓你的線性佈局android:orientation="vertical"並觀看魔術發生

+0

謝謝,這也很有用,它證實了CommonsWare的答案。 – Jomeno