/**
  * @param direction Negative to check scrolling up, positive to check scrolling down.
  * @return true if need dispatch touch event to child view,otherwise
  */
 private boolean supportScrollInView(int direction) {
   View view = getChildAt(whichCardOnTouch);
   if (view instanceof ViewGroup) {
     View childView = findTopChildUnder((ViewGroup) view, firstDownX, firstDownY);
     if (childView == null) return false;
     if (childView instanceof AbsListView) {
       AbsListView absListView = (AbsListView) childView;
       if (Build.VERSION.SDK_INT >= 19) {
         return absListView.canScrollList(direction);
       } else {
         return absListViewCanScrollList(absListView, direction);
       }
     } else if (childView instanceof ScrollView) {
       ScrollView scrollView = (ScrollView) childView;
       if (Build.VERSION.SDK_INT >= 14) {
         return scrollView.canScrollVertically(direction);
       } else {
         return scrollViewCanScrollVertically(scrollView, direction);
       }
     }
   }
   return false;
 }