1

我正在尝试在 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其余部分是空白的。

有什么方法可以获取屏幕键盘下我的应用程序的屏幕截图,包括部分?

4

1 回答 1

2

很抱歉让您失望了,但如果没有外部援助,这是无法做到的。键盘根本不是应用程序布局的一部分。

您的“最外层”视图是DecorView,您已经在捕捉它。就这项技术而言。

编辑:我现在不能尝试,但试一试:

View topmost = ((ViewGroup)
     ctx.getWindow().getDecorView().findViewById(android.R.id.content)
).getChildAt(0);

topmost.setDrawingCacheEnabled(true);

Bitmap screenshot = topmost.getDrawingCache();
于 2013-02-08T18:51:53.297 回答