删除ViewPager2过度滚动动画

时间:2019-07-03 23:06:56

标签: android android-viewpager2

找不到删除ViewPager2过度滚动阴影动画的方法。 我知道在ViewPager上,您可以直接将overscrollMode属性设置为never,但是,它在ViewPager2上不起作用

已经尝试了以下

<androidx.viewpager2.widget.ViewPager2
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
    android:layout_height="match_parent"
        android:overScrollMode="never"/>
binding.viewPager.apply {
        adapter = adapter
        orientation = ViewPager2.ORIENTATION_VERTICAL
        overScrollMode = ViewPager2.OVER_SCROLL_NEVER
        offscreenPageLimit = if (containsVideo) 2 else 5
}

4 个答案:

答案 0 :(得分:4)

万一有人在寻找Java解决方案

View child = viewPager2.getChildAt(0);
if (child instanceof RecyclerView) {
    child.setOverScrollMode(View.OVER_SCROLL_NEVER);
}

答案 1 :(得分:0)

解决方案

binding.viewPager2.apply {
    adapter = vpAdapter
    orientation = ViewPager2.ORIENTATION_VERTICAL
    registerOnPageChangeCallback(pageChangeCallback)
    (getChildAt(0) as RecyclerView).overScrollMode = RecyclerView.OVER_SCROLL_NEVER
}

答案 2 :(得分:0)

这个对我有用:

val child = binding.<your viewPager camelCase id>.getChildAt(0)
    (child as? RecyclerView)?.overScrollMode = View.OVER_SCROLL_NEVER

答案 3 :(得分:0)

在我的项目中运行的 kotlin 代码版本,没有绑定:

// over scroll animation
val child: View = pager.getChildAt(0)

if (child is RecyclerView) {
    child.overScrollMode = View.OVER_SCROLL_NEVER
}

谢谢。