我想在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
中我只有活动窗口的可见部分,其余部分为空白。
有没有办法获取我的应用程序的屏幕截图,包括屏幕键盘下的部分?
答案 0 :(得分:2)
我很抱歉让你失望,但没有外援就无法做到这一点。键盘根本不是应用程序布局的一部分。
您的“最外层”视图是DecorView
,您已经在捕捉它。这就是这种技术。
编辑:我现在无法尝试,但请试一试:
View topmost = ((ViewGroup)
ctx.getWindow().getDecorView().findViewById(android.R.id.content)
).getChildAt(0);
topmost.setDrawingCacheEnabled(true);
Bitmap screenshot = topmost.getDrawingCache();