Android把View转换成Bitmap

在Android中有的时候会想要把整个界面或某个布局缓存下来,这个时候会想到截取截图,也会想到把View转换成位图进行保存,那么怎么实现呢?


很简单,只需要使用下面的方法.


public Bitmap createViewBitmap(View v) {
        Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(),
                Bitmap.Config.ARGB_8888); //创建一个和View大小一样的Bitmap
        Canvas canvas = new Canvas(bitmap);  //使用上面的Bitmap创建canvas
        v.draw(canvas);  //把View画到Bitmap上
        return bitmap;
    }

这样就可以返回了个Bitmap缓存下来.

注: 如果转换的是子容器,如果没有背景的话,背景就会是透明的,一般需要动态变换背景时使用,另外在写入sdcard时需要设置Bitmap.CompressFormat.PNG.


你可能感兴趣的:(View操作)