webView及ScrollView長截圖

前言

之前的文章已經(jīng)講了X5內(nèi)核加入到項目中的方式烁兰,現(xiàn)在寫一下如何在該內(nèi)核下使用長截圖决瞳,Android自帶的webView也適用改方式认境。

都是輪子聘萨,我直接上代碼了,以下是webView的長截圖

 private Bitmap captureScreenforRecord(){

        webView.measure(View.MeasureSpec.makeMeasureSpec(
                View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED),
                View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
        webView.layout(0, 0, webView.getMeasuredWidth(),
                webView.getMeasuredHeight());
        webView.setDrawingCacheEnabled(true);
        webView.buildDrawingCache();

        Bitmap bm = Bitmap.createBitmap(webView.getMeasuredWidth(),
                webView.getMeasuredHeight(), Bitmap.Config.RGB_565);

        Canvas bigcanvas = new Canvas(bm);
        Paint paint = new Paint();
        int iHeight = bm.getHeight();
        bigcanvas.drawBitmap(bm, 0, iHeight, paint);
        webView.draw(bigcanvas);
        return  bm;
    }

瀏覽器截圖

image.png

點(diǎn)擊screen按鈕后跳轉(zhuǎn)至pictureActivity

image.png

正常的webView還有一種截圖的方式彬坏,

  float scale = webView.getScale();
        int webViewHeight = (int) (webView.getContentHeight()*scale);
        Bitmap bitmap = Bitmap.createBitmap(webView.getWidth(),webViewHeight, Bitmap.Config.RGB_565);
        Canvas canvas = new Canvas(bitmap);
        webView.draw(canvas);

但是在X5 內(nèi)核的webView不可用朦促,會出現(xiàn)屏幕外為黑屏。在Android5.0以后的webView也可能出現(xiàn)黑色栓始,如下

image.png

需要進(jìn)行一些處理:

   static {//webView長截圖分享在api21以上需要處理
        if(Build.VERSION.SDK_INT >= 21){
            WebView.enableSlowWholeDocumentDraw();
        }
    }

不過在X5內(nèi)核下以上方法時被屏蔽的务冕,所以不推薦使用,可以在原生的webView中使用幻赚,內(nèi)存消耗會變大禀忆。

另外附上ScrollView長截圖代碼

  float scale = webView.getScale();
        int webViewHeight = (int) (webView.getContentHeight()*scale);
        Bitmap bitmap = Bitmap.createBitmap(webView.getWidth(),webViewHeight, Bitmap.Config.RGB_565);
        Canvas canvas = new Canvas(bitmap);
        webView.draw(canvas);

鏈接附上 github
CaptureScreenWithTencentX5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市落恼,隨后出現(xiàn)的幾起案子箩退,更是在濱河造成了極大的恐慌,老刑警劉巖佳谦,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戴涝,死亡現(xiàn)場離奇詭異,居然都是意外死亡钻蔑,警方通過查閱死者的電腦和手機(jī)啥刻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咪笑,“玉大人可帽,你說我怎么就攤上這事〈芭” “怎么了映跟?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長扬虚。 經(jīng)常有香客問我努隙,道長,這世上最難降的妖魔是什么孔轴? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任剃法,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贷洲。我一直安慰自己收厨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布优构。 她就那樣靜靜地躺著诵叁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钦椭。 梳的紋絲不亂的頭發(fā)上拧额,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機(jī)與錄音彪腔,去河邊找鬼侥锦。 笑死,一個胖子當(dāng)著我的面吹牛德挣,可吹牛的內(nèi)容都是我干的恭垦。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼格嗅,長吁一口氣:“原來是場噩夢啊……” “哼番挺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屯掖,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤玄柏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贴铜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粪摘,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年阀湿,在試婚紗的時候發(fā)現(xiàn)自己被綠了赶熟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡陷嘴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出间坐,到底是詐尸還是另有隱情灾挨,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布竹宋,位于F島的核電站劳澄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蜈七。R本人自食惡果不足惜秒拔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望飒硅。 院中可真熱鬧砂缩,春花似錦作谚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至双吆,卻和暖如春眨唬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背好乐。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工匾竿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蔚万。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓岭妖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親笛坦。 傳聞我的和親對象是個殘疾皇子区转,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,867評論 25 707
  • 作者:Windin 貝聊移動開發(fā)部 Android工程師前言:本文主要講述了以下兩個方面: 普通WebView如何...
    貝聊科技閱讀 9,316評論 4 18
  • 關(guān)于這份調(diào)研報告,不是從技術(shù)角度深入探索版扩,重點(diǎn)是從產(chǎn)品本身分析废离,通俗易懂才是重點(diǎn)。主要是為了鍛煉平時做技術(shù)調(diào)研和競...
    石先閱讀 23,358評論 13 48
  • 最基礎(chǔ)的使用方法 最簡單的布局: 在Activity中使用WebView: 但只是這樣的話礁芦,在模擬器上是會直接調(diào)到...
    HolenZhou閱讀 7,793評論 12 33
  • 話說今年五月初蜻韭,不知道接通了哪根神經(jīng),我突然心血來潮想學(xué)種菜了柿扣。 種菜之前要整地肖方,央求某人一起出地面,鐮刀割去半人...
    風(fēng)輕云淡_106f閱讀 364評論 1 2