Android:解決view.getDrawingCache()返回null的問題,

來源:互聯網
上載者:User

Android:解決view.getDrawingCache()返回null的問題,

項目開發中,有時候需要將某個View的內容(包含其子View)以圖片的方式儲存下來(類似於),於是首先想到view.getDrawingCache()這個方法,它將返回一個Bitmap. 可是我在使用時,這個方法總是返回null,總網上查了下,需要設定一堆的參數,但依然不怎麼好使。

突然想到換一個思路,既然擷取View的內容這麼困難,還不如將 View 的內容直接draw到另一個canvas上去!於是解決方案誕生了,親測可用:

public static Bitmap getViewBitmap(View view) {        Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);        Canvas canvas = new Canvas(bitmap);        view.draw(canvas);        return bitmap;    }
問題解決!

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.