使用底部工作表幻灯片向上/向下滑动隐藏的ViewPager

时间:2018-06-04 22:28:12

标签: android android-constraintlayout bottom-sheet

我在底层表格的nestedscrollview中有一个viewpager。我希望在底片处于折叠状态时隐藏viewpager,但是当底片被拖动时,我希望viewpager相应地向上/向下滑动并在展开时显示在底部的顶部。 viewpager正在滑动,但它会在底部的顶部剪辑。我尝试在父视图上添加clipToPaddingFlase和clipChildren false。

如果有帮助,headerview是一个cardview,main_activity有一个覆盖整个屏幕的mapfragment。

BottomSheetLayout

<android.support.v4.widget.NestedScrollView
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:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:clipChildren="false"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.dumma.kotha.newlisting.ListingFragment">

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:translationY="200dp"
        app:layout_constraintTop_toTopOf="parent" />

    <include
        android:id="@+id/header"
        layout="@layout/header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" /> ...

然后我用

覆盖了BottomsheetBehavior onSlide方法
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
    viewPager.animate().translationY(-slideOffset * 
    viewPager.getHeight()).start();
}

0 个答案:

没有答案