在没有操作栏的情况下以编程方式安装android截图

时间:2015-01-03 20:35:35

标签: android

我正在尝试应用此代码来获取没有操作栏的视图的屏幕截图:

 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
新年快乐!

1 个答案:

答案 0 :(得分:1)

如果您以编程方式分配View,那么您已经拥有它:

View view = new MyView(context);
setContentView(view);

现在,您可以将view的内容绘制到Bitmap并将其保存到您想要的任何位置(搜索解决方案,我不认为这是此问题的一部分)。< / p>