屏幕上的键盘捕获活动屏幕
问题描述:
我想捕获我的活动在android上的屏幕。我使用下面的代码:屏幕上的键盘捕获活动屏幕
View root = this.activity.getWindow().getDecorView().getRootView();
Bitmap b = Bitmap.createBitmap(root.getWidth(), root.getHeight(), Config.RGB_565);
Canvas c = new Canvas(b);
root.draw(c);
if (b != null && !b.isRecycled()) {
this.screen = Bitmap.createBitmap(b);
}
如果屏幕上的键盘弹出,那么我就只有我的活动窗口的可见部分在this.screen
,其余为空白。
有什么办法让我的应用程序的屏幕截图,包括屏幕键盘下的部分?
答
我很抱歉让你失望,但如果没有外援,这是无法完成的。键盘根本不是您的应用程序布局的一部分。
您的“最外层”视图是DecorView
,您已经对齐。就这个技术而言。
编辑:我不能尝试了,但给这个一展身手:
View topmost = ((ViewGroup)
ctx.getWindow().getDecorView().findViewById(android.R.id.content)
).getChildAt(0);
topmost.setDrawingCacheEnabled(true);
Bitmap screenshot = topmost.getDrawingCache();
我开始向您展示[这](http://stackoverflow.com/a/4290532/1521064)如果你的屏幕截图被挤压 – vault 2013-02-08 18:09:45
截图没有被挤压的问题。在屏幕截图上仅显示那些位于屏幕上方键盘上的对象。一切(即键盘下的对象)都是空白的。我也需要在屏幕截图上放置它们。 – cheshie 2013-02-08 18:45:59