[Android] ScrollViewをスクロールさせない

せっかくスクロールできるViewなのにスクロールさせないとはどういうことだ!?

って感じだけど、この前作った引っ張って更新処理で通信中にスクロールされるとちょっと不都合が起こったから、通信中はスクロールさせないようにしたって感じ。

実装自体は単純でScrollViewのタッチイベントでイベントを消費させてしまえばスクロールしなくなる。

こんな感じ。

scrollView.setOnTouchListener { _, _ -> true }

スクロールさせるようにするにはTouchListenernullを入れてやれば良い。

scrollView.setOnTouchListener(null)

メソッド用意してあげたら良いかも。

// スクロール有効設定
private fun setScrollEnable(enable: Boolean) {
    if (enable) {
        scrollView.setOnTouchListener(null)
    } else {
        scrollView.setOnTouchListener { _, _ -> true }
    }
}

コメント

タイトルとURLをコピーしました