android.webkit.WebView#getContentHeight ( )源码实例Demo

下面列出了android.webkit.WebView#getContentHeight ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ViewCapture   文件: WebViewCapture.java
private Bitmap captureWebView3(WebView wv) {
    try {
        float scale = wv.getScale();
        int height = (int) (wv.getContentHeight() * scale + 0.5);
        Bitmap bitmap = Bitmap.createBitmap(wv.getWidth(), height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        wv.draw(canvas);
        return bitmap;
    } catch (Exception e) {
        try {
            openCache(wv);
            return wv.getDrawingCache();
        } finally {
            closeCache(wv);
        }
    }
}
 
源代码2 项目: MVPAndroidBootstrap   文件: ViewUtils.java
/**
 * Convert view to an image.  Can be used to make animations smoother.
 *
 * @param context           The current Context or Activity that this method is called from
 * @param viewToBeConverted View to convert to a Bitmap
 * @return Bitmap object that can be put in an ImageView.  Will look like the converted viewToBeConverted.
 */
public static Bitmap viewToImage(Context context, WebView viewToBeConverted) {
    int extraSpace = 2000; //because getContentHeight doesn't always return the full screen height.
    int height = viewToBeConverted.getContentHeight() + extraSpace;

    Bitmap viewBitmap = Bitmap.createBitmap(viewToBeConverted.getWidth(), height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(viewBitmap);
    viewToBeConverted.draw(canvas);

    //If the view is scrolled, cut off the top part that is off the screen.
    try {
        int scrollY = viewToBeConverted.getScrollY();
        if (scrollY > 0) {
            viewBitmap = Bitmap.createBitmap(viewBitmap, 0, scrollY, viewToBeConverted.getWidth(), height - scrollY);
        }
    } catch (Exception ex) {
        Log.e("PercolateAndroidUtils", "Could not remove top part of the webview image.  ex=" + ex);
    }

    return viewBitmap;
}
 
源代码3 项目: RxAndroidBootstrap   文件: ViewUtils.java
/**
 * Convert view to an image.  Can be used to make animations smoother.
 *
 * @param context           The current Context or Activity that this method is called from
 * @param viewToBeConverted View to convert to a Bitmap
 * @return Bitmap object that can be put in an ImageView.  Will look like the converted viewToBeConverted.
 */
public static Bitmap viewToImage(Context context, WebView viewToBeConverted) {
    int extraSpace = 2000; //because getContentHeight doesn't always return the full screen height.
    int height = viewToBeConverted.getContentHeight() + extraSpace;

    Bitmap viewBitmap = Bitmap.createBitmap(viewToBeConverted.getWidth(), height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(viewBitmap);
    viewToBeConverted.draw(canvas);

    //If the view is scrolled, cut off the top part that is off the screen.
    try {
        int scrollY = viewToBeConverted.getScrollY();
        if (scrollY > 0) {
            viewBitmap = Bitmap.createBitmap(viewBitmap, 0, scrollY, viewToBeConverted.getWidth(), height - scrollY);
        }
    } catch (Exception ex) {
        Log.e("PercolateAndroidUtils", "Could not remove top part of the webview image.  ex=" + ex);
    }

    return viewBitmap;
}
 
源代码4 项目: caffeine   文件: ViewUtils.java
/**
 * Convert view to an image.  Can be used to make animations smoother.
 *
 * @param context           The current Context or Activity that this method is called from.
 * @param viewToBeConverted View to convert to a Bitmap.
 * @return Bitmap object that can be put in an ImageView.  Will look like the converted viewToBeConverted.
 */
public static Bitmap viewToImage(Context context, WebView viewToBeConverted) {
    int extraSpace = 2000; //because getContentHeight doesn't always return the full screen height.
    int height = viewToBeConverted.getContentHeight() + extraSpace;

    Bitmap viewBitmap = Bitmap.createBitmap(viewToBeConverted.getWidth(), height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(viewBitmap);
    viewToBeConverted.draw(canvas);

    //If the view is scrolled, cut off the top part that is off the screen.
    try {
        int scrollY = viewToBeConverted.getScrollY();
        if (scrollY > 0) {
            viewBitmap = Bitmap.createBitmap(viewBitmap, 0, scrollY, viewToBeConverted.getWidth(), height - scrollY);
        }
    } catch (Exception ex) {
        Log.e("Caffeine", "Could not remove top part of the webview image.  ex=" + ex);
    }

    return viewBitmap;
}
 
/**
 * 规避 contentHeight 异步变化
 * @return
 */
private boolean canWebViewScrollUp(WebView webView) {
    if (mWebViewContentHeight == 0) {
        mWebViewContentHeight = (int) (webView.getContentHeight() * webView.getScale());
    }
    final int offset = webView.getScrollY();
    final int range = mWebViewContentHeight - webView.getHeight();
    if (range == 0) {
        return false;
    }
    return offset > 2;
}
 
/**
 * 规避 contentHeight 异步变化
 * @return
 */
private boolean canWebViewScrollDown(WebView webView) {
    if (mWebViewContentHeight == 0) {
        mWebViewContentHeight = (int) (webView.getContentHeight() * webView.getScale());
    }
    final int offset = webView.getScrollY();
    final int range = mWebViewContentHeight - webView.getHeight();
    if (range == 0) {
        return false;
    }
    return offset < range - 2;
}
 
源代码7 项目: OmniList   文件: ScreenShotHelper.java
private static void createType2(WebView webView, FileHelper.OnSavedToGalleryListener listener) {
    float scale = webView.getScale();
    int webViewHeight = (int) (webView.getContentHeight() * scale + 0.5);
    Bitmap bitmap = Bitmap.createBitmap(webView.getWidth(), webViewHeight, Config.RGB_565);
    Canvas canvas = new Canvas(bitmap);
    webView.draw(canvas);
    try {
        FileHelper.saveImageToGallery(PalmApp.getContext(), bitmap, true, listener);
        bitmap.recycle();
    } catch (Exception e) {
        LogUtils.e(e.getMessage());
    }
}
 
源代码8 项目: talk-android   文件: MDRootLayout.java
private void invalidateDividersForWebView(WebView view, final boolean setForTop, boolean setForBottom, boolean hasButtons) {
    if (setForTop) {
        mDrawTopDivider = mTitleBar != null &&
                mTitleBar.getVisibility() != View.GONE &&
                //Not scrolled to the top.
                view.getScrollY() + view.getPaddingTop() > 0;
    }
    if (setForBottom) {
        //noinspection deprecation
        mDrawBottomDivider = hasButtons &&
                view.getScrollY() + view.getMeasuredHeight() - view.getPaddingBottom() < view.getContentHeight() * view.getScale();
    }
}
 
源代码9 项目: android-app   文件: WebViewText.java
private float convertWebViewToScreenY(float y) {
    if (ttsHost == null) {
        Log.w(TAG, "convertWebViewToScreenY() ttsHost is null");
        return 0;
    }

    WebView webView = ttsHost.getWebView();
    return y * webView.getHeight() / webView.getContentHeight();
}
 
源代码10 项目: AgentWebX5   文件: ScrollingUtil.java
public static boolean isWebViewToBottom(WebView webview, int mTouchSlop) {
    return webview != null && ((webview.getContentHeight() * webview.getScale() - (webview.getHeight() + webview.getScrollY())) <= 2 * mTouchSlop);
}
 
源代码11 项目: talk-android   文件: MDRootLayout.java
private static boolean canWebViewScroll(WebView view) {
    //noinspection deprecation
    return view.getMeasuredHeight() < view.getContentHeight() * view.getScale();
}
 
源代码12 项目: TwinklingRefreshLayout   文件: ScrollingUtil.java
public static boolean isWebViewToBottom(WebView webview, int mTouchSlop) {
    return webview != null && ((webview.getContentHeight() * webview.getScale() - (webview.getHeight() + webview.getScrollY())) <= 2 * mTouchSlop);
}
 
源代码13 项目: AndroidStudyDemo   文件: BGAScrollingUtil.java
public static boolean isWebViewToBottom(WebView webView) {
    return webView != null && webView.getContentHeight() * webView.getScale() == (webView.getScrollY() + webView.getMeasuredHeight());
}
 
源代码14 项目: Pas   文件: ScrollingUtil.java
public static boolean isWebViewToBottom(WebView webView) {
    return webView != null && webView.getContentHeight() * webView.getScale() == (webView.getScrollY() + webView.getMeasuredHeight());
}