[Android] NestedScrollView, Scroll の中でScrollさせるには

Android7

ScrollViewは画面に限りがあるスマホでは便利な機能です。欲張りなのですがScrollしている画面で部分的にScrollさせるにはどうしたらいいのでしょうか?
 

Android Studio 2.2.3
Android 7.1.1
 

NestedScrollView

 
仕組みとしてはNestedScrollViewの中にScrollViewがあり、それぞれにOnTouchListener()を設定します。
requestDisallowInterceptTouchEvent (boolean disallowIntercept)を使ってタッチされた状況で切り分けていきます。

  • ScrollViewがタッチされた
    • NestedScrollViewのタッチイベントを許可せずにインターセプト
  • NestedScrollViewがタッチされた
    • NestedScrollViewのタッチイベントを許可

これでScrollVewがタッチされたときはScrollVewをスクロール
それ以外のNestedScrollViewのエリアではNestedScrollViewをスクロールさせるわけです。
 
実際にコーディングするとこのようになります。

MainActivity.java

 
activity_main.xml

 

References:
NestedScrollView
requestDisallowInterceptTouchEvent
Android scrollview inside another ScrollView-doesn’t scroll