通过修改将视图转换为位图

时间:2019-03-29 11:31:02

标签: android performance android-layout

要求:用户应该能够将布局(包含图像和文本)作为图像共享。

我尝试过的解决方案:

   Bitmap b = Bitmap.createBitmap(myView.getWidth(), myView.getHeight(), Bitmap.Config.ARGB_8888);
   Canvas c = new Canvas(b);
   myView.draw(c);

这按预期工作。但是我有几个问题。

问题: 我有几个按钮和文本,我不想将其转换为图像。另外,我想在位图图像上添加我的App徽标作为水印。

我针对上述问题的解决方案

  • 在转换为位图图像之前,更改按钮和徽标图像的可见性状态
  • 以可共享的图像格式在实际布局的后面再创建一个布局。使用此布局来获取位图图像(效率不高,但简单易行)

我的问题: 以上解决方案有效吗? 还是还有其他有效的方法吗?

PS:我不是在寻找代码。 :)

1 个答案:

答案 0 :(得分:1)

问题1:是的,您必须更改不希望将其转换为图像的视图的可见性(最简单的方法)。

问题2:要添加水印,您可以在画布上绘制水印(可以使用canvas.drawBitmap进行绘制),而不是将其放置在布局中。