見出し画像

NestedScrollView のスクロール位置を検出する方法|Android Kotlin

メモ帳アプリ『CountablePad』の対応で、現在のスクロール位置に応じて見た目を変化させる(ヘッダをドロップシャドウさせる)デザイン検討を行いました。

画像1

CountablePad その他のオプション

プログラミング

NestedScrollView の現スクロール位置は、以下のリスナー setOnScrollChangeListener で検出できるのですが、

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    nestedScrollView
        .setOnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY ->
            // TODO
        }
}

この方法では「Android 6.0」以上でしか実現できません。

今やそれで十分なのかもしれませんが、『CountablePad』は「Android 5.0」以上をサポートしているので、別の方法が必要でした。

解決

最終的に実現したのは、以下の方法です(これは知らないと嵌る、ちょっとした罠だと思います)。

ここから先は

305字
この記事のみ ¥ 250

この記事が参加している募集

習慣にしていること

この記事が気に入ったらサポートをしてみませんか?