这里我正在实现片段。当我把我的fragmentBottomFragment
放在寻呼机下方时它不显示但是当我在上面写这个时它的工作。
我在这里粘贴我的xml代码:
<LinearLayout 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:orientation="vertical"
tools:context=".ProductDetails" >
<fragment
android:id="@+id/fragmentTopFragment"
android:name="com.test.abc.ProductDetailsTopFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v4.view.ViewPager>
</RelativeLayout>
<fragment
android:id="@+id/fragmentBottomFragment"
android:name="com.test.abc.ProductDetailsBottomFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
答案 0 :(得分:1)
relativeLayout
ViewPager
的高度为match_parent
,因此它占据了线性布局中的所有空间,之后的任何内容都会超出屏幕。
试试这个:
<LinearLayout 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:orientation="vertical"
android:weightSum="3"
tools:context=".ProductDetails" >
<fragment
android:id="@+id/fragmentTopFragment"
android:name="com.test.abc.ProductDetailsTopFragment"
android:layout_width="match_parent"
android:layout_height="0dp" android:layout_weight="1"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp" android:layout_weight="1">
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v4.view.ViewPager>
</RelativeLayout>
<fragment
android:id="@+id/fragmentBottomFragment"
android:name="com.test.abc.ProductDetailsBottomFragment"
android:layout_width="wrap_content"
android:layout_height="0dp" android:layout_weight="1" />
</LinearLayout>
答案 1 :(得分:0)
问题是RelativeLayout的高度设置为match_parent。您可能希望整个布局为RelativeLayout。然后将每个片段对齐到顶部和底部。尝试更像这样的东西:
<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:orientation="vertical"
tools:context=".ProductDetails" >
<fragment
android:id="@+id/fragmentTopFragment"
android:layout_alignParentTop="true"
android:name="com.test.abc.ProductDetailsTopFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_below="@id/fragmentTopFragment"
android:layout_above="@+id/fragmentBottomFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment
android:id="@id/fragmentBottomFragment"
android:layout_alignParentBottom="true"
android:name="com.test.abc.ProductDetailsBottomFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>