現在、グレーアウト (黒/白) の背景を持つダイアログを表示する必要があるプロジェクトに取り組んでいます。これを実現するために、アプリ全体のスクリーンショットを撮り、このスクリーンショットをフルスクリーン ダイアログの背景に配置し、ColorFilter を配置してグレー表示にします。
これは初めて完全に機能しますが、下にあるコンテンツをスクロールしてダイアログを再度要求すると、前と同じ背景が表示されます。
私はコードを使用します:
Bitmap bitmap;
View rootView = getActivity().getWindow().getDecorView().findViewById(android.R.id.content);
rootView.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(rootView.getDrawingCache());
rootView.setDrawingCacheEnabled(false);
imageView.setImageBitmap(bitmap);
つまり、getDrawingCache() は常にアプリの同じスクリーンショットを返します。