我的目标是将页眉和页脚放到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结构吗?请帮我完成它。
答案 0 :(得分:1)
您无法在ScrollView中使用具有动态高度的ViewPager
变化
android:layout_height="wrap_content"
到例如。
android:layout_height="1000dp"
它会起作用