如何将View转换为Bitmap,包括它背后的视图?

时间:2015-12-30 20:04:56

标签: android android-layout bitmap

我的布局包含ImageView,然后是LinearLayout,其中包含TextViews,因此屏幕上显示的内容是顶部带有文字的图片它的。

布局是这样的。

<RelativeLayout>
 <ImageView>
    <LinearLayout>
        <!-- textviews -->
    </LinearLayout>
 </ImageView>
</RelativeLayout>

我可以使用此代码将线性布局作为位图,但位图不包含背景图像,它只是黑色背景。我希望它是布局以及它背后的图像。

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.myLinearLayout);

Bitmap imageToShare = loadBitmapFromView(linearLayout ); 

public static Bitmap loadBitmapFromView(View view) {
    Bitmap b = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    view.layout(0, 0, view.getWidth(), view.getHeight());
    view.draw(c);
    return b;
}

1 个答案:

答案 0 :(得分:0)

好吧,我似乎已经通过放置另一个包含ImageView和LinearLayout的Relative布局解决了这个问题。然后我从这个RelativeLayout而不是LinearLayout生成位图。