概述: 上個月產品提出的需求,第一反應是各種百度,查資料,窺視其它應用是使用什麼方法實現該功能。於是就看到簡書有實現長圖分享的功能。
在實現功能時,有檢視一些資料。反手就是一連結 blog.csdn.net/duanyy1990/… 自我感覺該作者寫的心得很贊。可以參考
1.對原生介面進行截長圖進行分享
遇到的坑: 1.如果當前的列表有展示圖片的控制元件,生成的長圖某些部分會出現佔位符的情況。從而導致圖片並不完整。
反手就是一張圖片 2.在對RecycleView列表進行長截圖的過程中會有兩個坑第一個就是,當你當前的item檢視超出了螢幕的範圍,這個時候截圖是null的。導致長圖儲存之後是缺損的,這個你可以自行測試。
2.對WebView進行長截圖分享
Webview可以解決 原生介面長截圖導致圖片不完整的問題。因為可以對Webview進行是否載入完畢的判斷,載入完畢之後再來進行長截圖操作。這樣生成的長圖就不會是上圖那樣不完整。
遇到的坑: 1.需要前端配合,給出與需要原生介面相同的網頁連結。2.在生成圖片過程中由於webview網頁過於太長,導致生成的圖片太大,從而生成失敗。3.通過微信好友分享出去的長圖,自己看的圖片會感覺到非常模糊,跟馬賽克一樣。原因是友盟分享的過程中對圖片進行了大力壓縮。
解決方案:1.就不用多說了,前端配合。2.出現這種情況就是對圖片進行壓縮,或者給出提示文章過長生成失敗。別問為什麼,《簡書APP》好像就是這麼處理的。3.微信好友進行分享的時候,我們需要呼叫系統的分享。這樣分享的時候會將一整張圖片都傳送過去,就不出現被壓縮的現象。就不會有馬賽克的效果了。有一點就是圖片下方沒有了應用的Logo與名稱。這個就看你們產品怎麼要求了。