static void findAllVisibleChilds(final ViewGroup viewGroup,final List<View> ordoredChilds){
  for (int childViewIndex=0; childViewIndex < viewGroup.getChildCount(); childViewIndex++) {
    final View childView=viewGroup.getChildAt(childViewIndex);
    if (childView instanceof ViewGroup) {
      findAllVisibleChilds((ViewGroup)childView,ordoredChilds);
      continue;
    }
    if (childView.getVisibility() == View.VISIBLE) {
      ordoredChilds.add(childView);
    }
  }
}

static void findAllVisibleChilds ( final ViewGroup viewGroup , final List < View > ordoredChilds ) { for ( int childViewIndex = 0 ; childViewIndex < viewGroup . getChildCount ( ) ; childViewIndex ++ ) { final View childView = viewGroup . getChildAt ( childViewIndex ) ; if ( childView instanceof ViewGroup ) { findAllVisibleChilds ( ( ViewGroup ) childView , ordoredChilds ) ; continue ; } if ( childView . getVisibility ( ) == View . VISIBLE ) { ordoredChilds . add ( childView ) ; } } }
helps to find recursivly all visible childs in a view group .
