关闭

Android:解决view.getDrawingCache()返回null的问题

标签: androidcanvasbitmap
3040人阅读 评论(2) 收藏 举报
分类:

项目开发中,有时候需要将某个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;
    }
问题解决!

2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:235108次
    • 积分:3587
    • 等级:
    • 排名:第9156名
    • 原创:115篇
    • 转载:0篇
    • 译文:0篇
    • 评论:118条
    最新评论