在scrollview中调整viewpager的大小

时间:2015-11-19 08:58:38

标签: android android-viewpager android-scrollview

我有一个在scrollview中托管的viewpager。 viewpager托管具有可变高度线性布局的片段。如果我将layout_width设置为wrap_content,我发现在viewpager持有的某些页面上是串起来的。理想情况下,我希望viewpager动态调整大小          

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />


    <Scrollview
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toolbar"
        android:fillViewport="true"
        android:scrollbars="none">


        <LinearLayout
            android:id="@+id/container_home"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">


            <include
                android:id="@+id/details_playWindow"
                layout="@layout/details_play_window" />

            <include
                android:id="@+id/details_topPanel"
                layout="@layout/details_header"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />

            <include
                android:id="@+id/details_body"
                layout="@layout/details_header_body"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />


            <include
                android:id="@+id/relatedMovies"
                layout="@layout/layout_stiff"
                android:layout_width="match_parent"
                android:layout_height="250dp" />


            <LinearLayout
                android:id="@+id/tv_show_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:visibility="gone">

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

                    <include layout="@layout/view_series_header" />
                </LinearLayout>

                <!--Setting the height 2000dp is silly but for the mean time -->
                <android.support.v4.view.ViewPager
                    android:id="@+id/download_pager"
                    android:layout_width="match_parent"
                    android:layout_height="1800dp" />


            </LinearLayout>
        </LinearLayout>

    </Scrollview>


</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

我不确定你是否只能使用xml布局,但这是我用来创建flexibile布局的。

有一个LinearLayout属性,即android:layout_weight。它与CSS中的百分比类似。我会做的大致可以放在这些步骤中:

  1. 将视图寻呼机父线性布局设置为垂直方向和高度以包装内容。
  2. 设置视图寻呼机android:layout_height=0dpandroid:layout_weight="1"匹配父。
  3. 有关布局权重的更多信息here