我将ViewPager
放在Fragment
内。
当我为layout_height=300dp
等ViewPager设置固定高度时,ViewPager及其内容可见。
但是,当我将Viewpager的高度更改为fill_parent
,match_parent
或wrap_content
时,Viewpager
不会被显示出来。
我在下面发布我的布局。请帮助。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3" >
<Button
android:id="@+id/btn_reviews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/reviews" />
<Button
android:id="@+id/btn_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/Description" />
<Button
android:id="@+id/btn_specs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/Specs" />
</LinearLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pagers"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000" >
</android.support.v4.view.ViewPager>
</LinearLayout>
答案 0 :(得分:0)
尝试下面的代码......同时确保当你给予重量时让孩子
for orientation="horizontal" (parent), (child) android:layout_width="0dp"
for orientation="vertical" (parent),(child) android:layout_height="0dp"
代码XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight=".2" //change .2 value accordingly
android:weightSum="1" >
<Button..
<Button..
<Button..
</LinearLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pagers"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:background="#000000"
android:layout_weight=".8" //change .8 value accordingly
>
</android.support.v4.view.ViewPager>
答案 1 :(得分:0)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<Button
android:id="@+id/btn_reviews"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="b0" />
<Button
android:id="@+id/btn_description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="b1" />
<Button
android:id="@+id/btn_specs"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="b2" />
</LinearLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pagers"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"></android.support.v4.view.ViewPager>
</LinearLayout>
答案 2 :(得分:0)
当您对父布局使用权重属性时,您必须将子视图高度或权重设置为0dip。如果布局的方向是Vertical,则必须将子视图的layout_height设置为0dip,以便android:layout_weight =&#34; 1&#34;能行得通。此外,如果布局的方向为“水平”,则必须将子视图的layout_widht设置为0dip。另外,你不要在孩子身上填充fill_parent,因为它覆盖了所有页面,而是使用wrap_content,根据你想要做的事情,使用权重。假设您希望布局是垂直的,并且您的子lineatlayout是水平的,请尝试:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="3"
android:orientation="horizontal">
<Button
android:id="@+id/btn_reviews"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="test" />
<Button
android:id="@+id/btn_description"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="testDescription" />
<Button
android:id="@+id/btn_specs"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="testSpecs" />
</LinearLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pagers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000000"
android:layout_weight="3"/>
</LinearLayout>