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;
    }
问题解决!

阅读更多
文章标签: android canvas bitmap
个人分类: Android开发
上一篇算法基础:正整数指定规则排序问题(Golang实现)
下一篇算法基础:排列组合问题-全排列(Golang实现)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭