LoginSignup
18
11

More than 3 years have passed since last update.

ViewPagerのスワイプを無効にする方法

Last updated at Posted at 2018-05-30

概要

ViewPagerを使って画面を切り替える時、スワイプではなく別途用意したナビゲーションで操作させたい場合があります。そういった場合の実装をメモします。

実装

CustomViewPager.kt
class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(context, attrs) {

    private var isEnable = true

    override fun onTouchEvent(ev: MotionEvent?): Boolean = when (isEnable) {
        true -> super.onTouchEvent(ev)
        else -> false
    }

    override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean = when (isEnable) {
        true -> super.onInterceptTouchEvent(ev)
        else -> false
    }

    fun setPagingEnabled(isEnable: Boolean) {
        this.isEnable = isEnable
    }
}

実際に使用する時はこんな感じで指定します。

viewPager.setPagingEnabled(false)

参考

18
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
11