android - 在底部,viewpager/fragment 重叠 LinearLayout

  显示原文与译文双语对照的内容

我有一个 ViewPager,它显示了 Fragments,我想在顶部,底部的一个简单的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>

fragment


<?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_上面="@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 -->

时间: 作者:

我在这里使用了 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"> 

作者:

all your xml files 要为它的定义背景颜色,它将解决该问题:

添加这里 android:background="@android:color/black" 在你定义的视图标记中。

p/s: 本例仅避免背景重叠。

作者:
...