翻译视图和viewpager的片段

时间:2015-05-11 10:25:35

标签: android android-fragments android-viewpager android-animation android-recyclerview

我对我有点奇怪的问题。我需要在recyclelerview滚动上翻译位于viewpager上的视图。 RecyclerView位于片段中,片段位于viewpager中。当我在片段中滚动recyclerview并想要翻译位于viewpager上的View时,我的问题就出现了。 ViewPager正在向上移动以填充已翻译视图留下的空间,但片段不是。因此,我可以在viewpager上看到空间空白区域。我通过设置viewpager背景检查它,我看到viewpager实际调整大小以匹配容器但片段保持不变。任何想法如何迫使它按原样运作?当我想要调整大小的recyclelerview和视图在同一个片段上时,此代码非常有效。

问题看起来像http://i.imgur.com/wyxXGYh.png

布局看起来像这样 ViewPagerFragment

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:clipToPadding="false">
<android.support.v7.widget.RecyclerView
    android:id="@+id/subcategory_fragment_recycle_view"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>

使用Viewpager进行布局

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/fragment_category_sliding_tab_layout">

    <android.support.v4.view.ViewPager
        android:id="@+id/fragment_category_viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingTop="100dp"
        android:clipToPadding="false"
        android:background="#0000FF"
        android:animateLayoutChanges="true">
    </android.support.v4.view.ViewPager>

    <TextView
        android:id="@+id/scrollTemp"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="#FF0000"
        android:gravity="center|center_vertical"
        android:text="TEMP"
        android:textSize="40dp" />
</FrameLayout>

为了检测scrolllevents并触发显示/隐藏临时视图,我基本上使用了这个HidingScrollListener https://mzgreen.github.io/2015/02/28/How-to-hideshow-Toolbar-when-list-is-scrolling%28part2%29/。正如我所说,当我想滚动的recyclerview和视图在同一个片段上时它完美地工作。

0 个答案:

没有答案