有个仿抖音的需求,用到RecyclerView+PagerSnapHelper方式实现
其中有个小需求是,当点击评论显示评论框后,
视频是不能滑动的,所以就需要动态改变RecyclerView是否可滑动
recyclerView会有setLayoutManager方法,我们需要自定义LayoutManager
class CustomLayoutManager(context: Context, orientation: Int, reverseLayout: Boolean) : LinearLayoutManager(
context, orientation, reverseLayout
) {
private var isScrollEnabled = true
fun setScrollEnabled(flag: Boolean) {
isScrollEnabled = flag
}
override fun canScrollHorizontally(): Boolean {
return isScrollEnabled && super.canScrollHorizontally()
}
override fun canScrollVertically(): Boolean {
return isScrollEnabled && super.canScrollVertically()
}
}
只需要在显示评论框后,调用customLayoutManager中的setScrollEnabled(false)即可
评论框消失后,再执行customLayoutManager中的setScrollEnabled(true)
其实之前也用过,只是需要的时候并不能马上找出来,还是需要记录一下,方便以后需要的时候快速查找。