我在底层表格的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();
}