我正在尝试应用此代码来获取没有操作栏的视图的屏幕截图:
View main = findViewById(R.id.view);
Bitmap screenshot;
main.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(main.getDrawingCache());
main.setDrawingCacheEnabled(false);
我的问题是,如果我们没有布局,我将如何获取视图,视图设置如下:
setContentView(new MyView(this));
请看一下这个项目: https://github.com/valerio-bozzolan/AcrylicPaint/blob/master/src/anupam/acrylic/EasyPaint.java 任何帮助将非常感谢!
更新:
我在这一行得到了java.lang.NullPointerException:
View v = new MyView(getBaseContext());
v.setDrawingCacheEnabled(true);
Bitmap cachedBitmap = v.getDrawingCache();
Bitmap copyBitmap = cachedBitmap.copy(Bitmap.Config.RGB_565, true); // <--- HERE
新年快乐!
答案 0 :(得分:1)
如果您以编程方式分配View
,那么您已经拥有它:
View view = new MyView(context);
setContentView(view);
现在,您可以将view
的内容绘制到Bitmap
并将其保存到您想要的任何位置(搜索解决方案,我不认为这是此问题的一部分)。< / p>