private View nearest(float x,float y,List<View> views){
  double minDistSq=Double.MAX_VALUE;
  View minView=null;
  for (  View view : views) {
    Rect rect=new Rect();
    view.getGlobalVisibleRect(rect);
    double distSq=distSq(x,y,rect.centerX(),rect.centerY());
    if (distSq < Math.pow(1.2f * view.getMeasuredWidth(),2) && distSq < minDistSq) {
      minDistSq=distSq;
      minView=view;
    }
  }
  return minView;
}

private View nearest ( float x , float y , List < View > views ) { double minDistSq = Double . MAX_VALUE ; View minView = null ; for ( View view : views ) { Rect rect = new Rect ( ) ; view . getGlobalVisibleRect ( rect ) ; double distSq = distSq ( x , y , rect . centerX ( ) , rect . centerY ( ) ) ; if ( distSq < Math . pow ( 1.2f * view . getMeasuredWidth ( ) , 2 ) && distSq < minDistSq ) { minDistSq = distSq ; minView = view ; } } return minView ; }
find the nearest child view
