欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android webView截圖的4種方法

 更新時(shí)間:2018年05月05日 15:06:37   作者:PalmerYang  
這篇文章主要為大家詳細(xì)介紹了android webView截圖的4種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

android 在webView里面截圖大概有四種方式,具體內(nèi)容如下

1.獲取到DecorView然后將DecorView轉(zhuǎn)換成bitmap然后寫入到文件里面.

View view = getWindow().getDecorView();
  Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
   Canvas canvas = new Canvas(bitmap);
    view.draw(canvas);
    Log.d(TAG,"bitmap--"+bitmap);
    try {
      String fileName = Environment.getExternalStorageDirectory().getPath()+"/webview_jietu.jpg";
      FileOutputStream fos = new FileOutputStream(fileName);
      //壓縮bitmap到輸出流中
      bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos);
      fos.close();
      Toast.makeText(WebviewFromGetDecorView.this, "截屏成功", Toast.LENGTH_LONG).show();

    } catch (Exception e) {
      Log.e(TAG, e.getMessage());
    }finally {
      if(bitmap!=null) {
     bitmap.recycle();
 }

}

2.使用webViewpicture來實(shí)現(xiàn)該功能.(該方法被廢棄了因此不建議使用)

 Picture picture = webView.capturePicture();
  int width = picture.getWidth();
  int height = picture.getHeight();
   if (width > 0 && height > 0) {
   Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
   Canvas canvas = new Canvas(bitmap);
   picture.draw(canvas);
    try {
     String fileName = Environment.getExternalStorageDirectory().getPath()+"/webview_jietu.jpg";
     FileOutputStream fos = new FileOutputStream(fileName);
     //壓縮bitmap到輸出流中
     bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos);
     fos.close();
     Toast.makeText(WebviewFromCapture.this, "截屏成功", Toast.LENGTH_LONG).show();
     bitmap.recycle();
     } catch (Exception e) {
   Log.e(TAG, e.getMessage());
  }
}

3.使用webViewDraw來實(shí)現(xiàn).(該方法被廢棄了因此不建議使用)

float scale = webView.getScale();
  int webViewHeight = (int) (webView.getContentHeight()*scale+0.5);
   Bitmap bitmap = Bitmap.createBitmap(webView.getWidth(),webViewHeight, Bitmap.Config.ARGB_8888);
   Canvas canvas = new Canvas(bitmap);
   webView.draw(canvas);
    try {
     String fileName = Environment.getExternalStorageDirectory().getPath()+"/webview_jietu.jpg";
     FileOutputStream fos = new FileOutputStream(fileName);
     //壓縮bitmap到輸出流中
      bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos);
      fos.close();
      Toast.makeText(WebviewFromDraw.this, "截屏成功", Toast.LENGTH_LONG).show();
      bitmap.recycle();
      } catch (Exception e) {
  Log.e(TAG, e.getMessage());
}

4.使用webViewDrawCache來實(shí)現(xiàn)(建議使用).

Bitmap bitmap = webView.getDrawingCache();
  try {
    String fileName = Environment.getExternalStorageDirectory().getPath() + "/webview_jietu.jpg";
    FileOutputStream fos = new FileOutputStream(fileName);
    //壓縮bitmap到輸出流中
    bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos);
    bitmap.recycle();
    fos.close();
   Toast.makeText(WebviewFromDrawCache.this, "截屏成功", Toast.LENGTH_LONG).show();
} catch (Exception e) {
      Log.e(TAG, e.getMessage());
    } finally {
      bitmap.recycle();
}

注意:

在android5.0及以上版本使用webView進(jìn)行截長圖時(shí),默認(rèn)是截取可是區(qū)域內(nèi)的內(nèi)容.因此需要在支撐窗體內(nèi)容之前加上如下方法.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  WebView.enableSlowWholeDocumentDraw();
   }
 setContentView(R.layout.activity_webview);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android5.0+ CollapsingToolbarLayout使用詳解

    Android5.0+ CollapsingToolbarLayout使用詳解

    這篇文章主要為大家詳細(xì)介紹了Android5.0+ CollapsingToolbarLayout使用,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 關(guān)于Android短信驗(yàn)證碼的獲取的示例

    關(guān)于Android短信驗(yàn)證碼的獲取的示例

    本篇文章主要介紹了關(guān)于Android短信驗(yàn)證碼的獲取的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Android使用ImageView 制作透明圓弧實(shí)例代碼

    Android使用ImageView 制作透明圓弧實(shí)例代碼

    這篇文章主要介紹了Android使用ImageView 制作透明圓弧實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Android項(xiàng)目基本結(jié)構(gòu)詳解

    Android項(xiàng)目基本結(jié)構(gòu)詳解

    這篇文章主要為大家詳細(xì)介紹了Android項(xiàng)目基本結(jié)構(gòu),從最基本的內(nèi)容講起,帶你逐步進(jìn)入用C#進(jìn)行Android應(yīng)用開發(fā)的樂園,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android編程單擊圖片實(shí)現(xiàn)切換效果的方法

    Android編程單擊圖片實(shí)現(xiàn)切換效果的方法

    這篇文章主要介紹了Android編程單擊圖片實(shí)現(xiàn)切換效果的方法,以實(shí)例形式分析了Android布局及切換功能的具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 詳解Android啟動(dòng)第一幀

    詳解Android啟動(dòng)第一幀

    這篇文章我們就來介紹Android啟動(dòng)第一幀,至于Android第一幀什么時(shí)候開始調(diào)度,具體內(nèi)容我們就來看下面文章內(nèi)容吧,感興趣得小伙伴可以和小編一起來學(xué)習(xí)奧
    2021-10-10
  • Android事件沖突解決懸浮窗拖拽處理方案

    Android事件沖突解決懸浮窗拖拽處理方案

    這篇文章主要為大家介紹了Android事件沖突解決懸浮窗拖拽處理方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android?應(yīng)用程序的啟動(dòng)流程示例詳解

    Android?應(yīng)用程序的啟動(dòng)流程示例詳解

    這篇文章主要為大家介紹了Android?應(yīng)用程序的啟動(dòng)流程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 關(guān)于WebView 重定向行為導(dǎo)致的多次加載的問題

    關(guān)于WebView 重定向行為導(dǎo)致的多次加載的問題

    這篇文章主要介紹了關(guān)于WebView 重定向行為導(dǎo)致的多次加載的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • MobLink?Android?快速集成指南

    MobLink?Android?快速集成指南

    這篇文章主要為大家介紹了MobLink?Android?快速集成指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10

最新評(píng)論