scrollView.post(new Runnable() { @Override public void run() {
@Synthetic void setFullscreen(boolean isFullscreen) { if (getView() == null) { return; } mFullscreen = isFullscreen; mControls.setVisibility(isFullscreen ? VISIBLE : View.GONE); AppUtils.toggleWebViewZoom(mWebView.getSettings(), isFullscreen); ViewGroup.LayoutParams params = mWebView.getLayoutParams(); if (isFullscreen) { mScrollView.removeView(mScrollViewContent); mWebView.scrollTo(mScrollView.getScrollX(), mScrollView.getScrollY()); mFullscreenView.addView(mScrollViewContent); params.height = ViewGroup.LayoutParams.MATCH_PARENT; } else { reset(); // We'll zoom out until it returns false, which means it has min zoom level. // It's quite dangerous piece of code - potentially could lead to infinite loop, // so let's add some reasonable limit just in case int i = 0; while (mWebView.zoomOut() && i < 30) { i++; } mFullscreenView.removeView(mScrollViewContent); mScrollView.addView(mScrollViewContent); mScrollView.post(() -> mScrollView.scrollTo(mWebView.getScrollX(), mWebView.getScrollY())); params.height = ViewGroup.LayoutParams.WRAP_CONTENT; } mWebView.setLayoutParams(params); }
@Override public void onKeyboardShow(int keyboardHeight) { if (mFlRoot.getPaddingBottom() == 0) { //set the padding of the contentView for the keyboard mFlRoot.setPadding(0, 0, 0, keyboardHeight); if (mRvCheckList == null || mRvCheckList.getVisibility() != View.VISIBLE) { int toScroll = DisplayUtil.getCursorY(mEtContent); toScroll += mEtTitle.getHeight(); if (mRvImageAttachment != null && mRvImageAttachment.getVisibility() == View.VISIBLE) { toScroll += mRvImageAttachment.getHeight(); } final int fToScroll = toScroll; mScrollView.post(new Runnable() { @Override public void run() { mScrollView.scrollTo(0, fToScroll - screenHeightDivide6); } }); } } }
mainListView.setNestedScrollingEnabled(true); nestedScrollView.post(new Runnable() { @Override public void run() {