【Kotlin/Android】ScrollViewをネスト(入れ子)して実装する方法!NestedScrollView

この記事からわかること
- Android Studio/Kotlinでネスト(入れ子)されたScrollViewの実装方法
- NestedScrollViewの使い方
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
ScrollViewをネストするとスクロールできなくなる
AndroidでScrollView
の中にScrollView
を配置すると親のScrollView
はスクロールできまずが、子のScrollViewはスクロールできなくなってしまいます。
ネストされたScrollViewをスクロールできるようにする方法
ネストされたScrollViewを動作するようにするためには以下の2つの方法があります。
- 子にNestedScrollViewを指定する
- 親にカスタムで拡張したScrollViewを指定する
子にNestedScrollViewを指定する
NestedScrollView
を使用することでネストされたScrollViewをスクロールできるようにすることが可能です。使用方法は簡単で子供側にあるScrollView
をNestedScrollView
に置き換えるだけです。

親にカスタムで拡張したScrollViewを指定する
NestedScrollView
を使用せずに親側のViewを変更することでネストされたScrollViewをスクロールできるようにするには親ScrollViewが子ScrollViewの縦方向のスクロールだけを許可するカスタムViewを実装します。
あとは以下のようにXML側でカスタムViewを親に設定するだけです。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。