未显示Android:View_weight =“1”的Android ViewPager

时间:2012-05-15 10:59:43

标签: android

我想在ViewPager中显示滚动视图,在ViewPager下面显示操作按钮。所以我将android:layout_weight="1"设置为ViewPager,但没有显示,只显示了操作按钮。

ViewPager的布局如下。

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

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_weight="1" />

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

    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:paddingBottom="10dp"
        android:text="この記事の投稿者に" />

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

        <Button
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="メールで問い合わせ" />

        <Button
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="電話で問い合わせ" />

    </LinearLayout>
</LinearLayout>

ViewPager中的布局如下。

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

    <ScrollView
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:fillViewport="true">

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

            <TextView
                android:id="@+id/title"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:textSize="21sp" />

            <ImageView
                android:id="@+id/image"
                android:layout_height="200dp"
                android:layout_width="200dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:layout_gravity="center" />

            <TextView
                android:id="@+id/price"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:textSize="34sp"
                android:textColor="#FF0000" />

            <TextView
                android:id="@+id/text"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:textSize="21sp" />

        </LinearLayout>
    </ScrollView>
</LinearLayout>

2 个答案:

答案 0 :(得分:2)

当您使用布局权重时,您需要使用高度或宽度,具体取决于方向,“0dp”

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_height="0dp"
    android:layout_width="match_parent"
    android:layout_weight="0.8" />

<LinearLayout
    android:orientation="vertical"
    android:layout_height="0dp"
    android:layout_width="match_parent"
    android:weight="0.2">

<TextView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:paddingBottom="10dp"
    android:text="この記事の投稿者に" />

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

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="メールで問い合わせ" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="電話で問い合わせ" />

</LinearLayout>

答案 1 :(得分:0)

这应该可以解决问题:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent">

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:layout_weight="0" />

<LinearLayout
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:layout_weight="1">
</LinearLayout>
</LinearLayout>