我创建了一个不可滑动的viewpager,但是它阻止了片段之一,而片段是要执行的地图

时间:2019-04-10 03:02:38

标签: android android-viewpager

我有一个视图寻呼机,已使用以下替代功能禁止滑动:

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中滑动和地图手势发生冲突。

我遇到了一个问题,因为手势现在不能很好地工作了。当我尝试捏一下地图时,它的工作时间仅为一秒钟,而使其工作的方法是将一个手指放在屏幕上,然后才使用第二个手指的这种怪异组合。这很奇怪而且不直观。

如何更改我的课程,以使地图片段中的手势能够正常工作?

0 个答案:

没有答案