Android获取View对应的Bitmap

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android获取View对应的Bitmap相关的知识,希望对你有一定的参考价值。

我的应用里面有一个需求,将一个画面分享出去,这个画面底层是一个View,所以首先要把这个View转换成Bitmap,然后在分享这个bitmap即可。话不多说,直接上代码。

有个地方需要注意一下:就是//Draw background的代码不能省略,否则生成的图片背景就是黑色的了。

==

public static Bitmap getBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.RGB_565);
    Canvas c = new Canvas(b);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    // Draw background
    Drawable bgDrawable = v.getBackground();
    if (bgDrawable != null)
        bgDrawable.draw(c);
    else
        c.drawColor(Color.WHITE);
    // Draw view to canvas
    v.draw(c);
    return b;
}

==

以上是关于Android获取View对应的Bitmap的主要内容,如果未能解决你的问题,请参考以下文章

Android 获取View的Bitmap

Android 获取View的Bitmap

Android 怎么把imageview 转为Bitmap

如何获取View的Bitmap

android中怎么获取一个bitmap在屏幕中位置?

Android-Listview中Bitmap的缓存实现有哪些方式