ViewPager / Fragment底部重叠LinearLayout

时间:2014-01-15 23:07:08

标签: android xml android-layout android-fragments overlapping

我有一个显示Fragments的ViewPager,我希望它在顶部,底部是一个简单的LinearLayout。但是,Fragments与底部的布局重叠。我希望FragmentLinearLayout结束。见图:

enter image description here

使用ViewPager的XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<android.support.v4.view.ViewPager
    android:id="@+id/steps_pager"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <Button
        android:id="@+id/finish_checklist_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_white_glossy"
        android:layout_margin="20dp"
        android:text="@string/finish_checklist" />

</LinearLayout>

片段的XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:background="#fff" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="26sp"
            android:text="@string/step_order_label" />

        <TextView
            android:id="@+id/step_order"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="26sp" />
    </LinearLayout>

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#000" />

    <TextView
        android:id="@+id/step_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:textSize="26sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="40dp"
        android:textSize="20sp"
        android:text="@string/result_label" />

    <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp" />

</LinearLayout>

<!-- YES/NO BUTTONS -->
<Button
    android:id="@+id/button_no"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/btn_white_glossy"
    android:padding="20dp"
    android:visibility="gone"
    android:text="@string/button_no" />

<Button
    android:id="@+id/button_yes"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/button_no"
    android:background="@drawable/btn_white_glossy"
    android:padding="20dp"
    android:layout_marginBottom="30dp"
    android:visibility="gone"
    android:text="@string/button_yes" />
<!-- END YES/NO BUTTONS -->

2 个答案:

答案 0 :(得分:1)

我在这里使用了android:layout_below元素。

layout_below您的ViewPager ID。

此布局为垂直

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="fill_vertical"
    android:orientation="vertical" >

答案 1 :(得分:0)

all your xml files中,应为其定义背景颜色,它将解决问题:

将此android:background="@android:color/black"添加到您定义的View标记中。

p / s:这种情况只能避免背景重叠。