我有一个视图寻呼机,已使用以下替代功能禁止滑动:
class SwipeLockableViewPager(context: Context, attrs: AttributeSet): ViewPager(context, attrs) {
private var swipeEnabled = false
override fun onTouchEvent(event: MotionEvent): Boolean {
return when (swipeEnabled) {
true -> super.onTouchEvent(event)
false -> false
}
}
override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
return when (swipeEnabled) {
true -> super.onInterceptTouchEvent(event)
false -> false
}
}
fun setSwipePagingEnabled(swipeEnabled: Boolean) {
this.swipeEnabled = swipeEnabled
}
}
之所以这样做,是因为viewpager中的一个片段是一张地图,我不希望在view pager中滑动和地图手势发生冲突。
我遇到了一个问题,因为手势现在不能很好地工作了。当我尝试捏一下地图时,它的工作时间仅为一秒钟,而使其工作的方法是将一个手指放在屏幕上,然后才使用第二个手指的这种怪异组合。这很奇怪而且不直观。
如何更改我的课程,以使地图片段中的手势能够正常工作?