viewpager下方的布局未显示在滚动视图中

时间:2015-10-20 11:19:03

标签: android android-viewpager scrollview

我的目标是将页眉和页脚放到viewpager(其中viewpager具有Recycle,Listviews等的子片段。)当用户向上滚动时我将setTranslationY设置为标题并将viewpager的标签粘贴到工具栏上。这一切都正常很好,但当Listfragment(在viewpager内)结束滚动时,页脚布局没有显示。我正在滚动视图中放置所有三个部分(标题,带有片段,页脚的viewpager)。

UI结构类似于ScrollView(RelativeLayout + ViewPager(4种不同类型的片段)+ RelativeLayout)。 请任何与此类似的人,请与我分享如何完成此任务的链接。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/parent_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="fill_parent">

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/view_pager"
                android:text="jfgjfgj" />

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

                <ImageView
                    android:id="@+id/image"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/parallax_image_height"
                    android:scaleType="centerCrop"
                    android:src="@drawable/course_ud" />


                <com.pace.bluewinger.activities.demo.slidingTab.SlidingTabLayout
                    android:id="@+id/navig_tab"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/tab_height"
                    android:background="@android:color/white"
                    app:indicatorColor="@color/theme_color"
                    app:shouldExpand="true"
                    app:tabBackgroundP="@layout/sliding_tab_view"
                    app:tabBackgroundTextViewId="@+id/tab_textview" />

            </LinearLayout>
        </RelativeLayout>

    </ScrollView>

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        app:popupTheme="@style/Theme.AppCompat.Light.DarkActionBar" />

</RelativeLayout>

我正在使用parallaxheaderviewpager libray来获取标题并保留标签状态,以便水平滚动viewpager。

在我的活动中 -

@Override
    protected void scrollHeader(int scrollY) {

        float translationY = Math.max(-scrollY, mMinHeaderTranslation);
        mHeader.setTranslationY(translationY);
        int baseColor = getResources().getColor(R.color.primary);
        float alpha = Math.min(1, (float) scrollY / mParallaxImageHeight);
        mToolbar.setBackgroundColor(ScrollUtils.getColorWithAlpha(alpha, baseColor));

    }

viewpager适配器从ParallaxFragmentPagerAdapter扩展,每个片段的布局都有高度为wrap_content。

或者还有其他方法可以实现上述UI结构吗?请帮我完成它。

1 个答案:

答案 0 :(得分:1)

您无法在ScrollView中使用具有动态高度的ViewPager

变化

android:layout_height="wrap_content"

到例如。

android:layout_height="1000dp"

它会起作用