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 に答える