@Override public void requestChildFocus(View child, View focused) { /* * Normally a ScrollView will scroll the child into view. * Prevent this when a MessageWebView is first touched, * assuming it already is at least partially in view. * */ if (mSkipWebViewScroll && focused instanceof MessageWebView && focused.getGlobalVisibleRect(new Rect())) { mSkipWebViewScroll = false; super.requestChildFocus(child, child); ViewParent parent = getParent(); if (parent != null) { parent.requestChildFocus(this, focused); } } else { super.requestChildFocus(child, focused); } }