如何获取下面所有视图的整个位图?

How to get the whole bitmap of all views below?

我有一个有一些透明区域的视图。通过透明区域,我可以看到它下面的视图,现在我希望通过透明区域看到的视图变得模糊。我找到了一些代码来使位图模糊,但我怎样才能通过透明区域获得我所看到的位图?

找到View的buildDrawingCache功能,但不知道怎么用

在此方法中传递您的视图并获取位图。

Bitmap getBitmapOfView(View v) {
    Bitmap bitmap = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
    Canvas c = new Canvas(bitmap);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    v.draw(c);
    return bitmap;
}

您可以将视图转换为位图。 Visit this link to see how to do that.

public static Bitmap loadBitmapFromView(View v) {
   Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
   Canvas c = new Canvas(b);
   v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
   v.draw(c);
   return b;

}

您要实现的目标将使用片段来完成。有碎片超过另一个。因此,您将下片段的蓝色视图设置为上片段的背景。