getDrawingCache sempre retorna o mesmo bitmap

Atualmente, estou trabalhando em um projeto que precisa exibir uma caixa de diálogo com um plano de fundo cinza (preto / branco). Para conseguir isso, estou fazendo uma captura de tela e de todo o aplicativo, coloque-a no plano de fundo da caixa de diálogo em tela cheia e coloque um ColorFilter para que ela fique acinzentada.

Isso funciona perfeitamente pela primeira vez, mas se eu rolar o conteúdo subjacente e solicitar a caixa de diálogo novamente, ela mostrará exatamente o mesmo plano de fundo que o anterior.

Eu uso o código:

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);

Em outras palavras, o getDrawingCache () sempre retorna a mesma captura de tela do aplicativo.

questionAnswers(1)

yourAnswerToTheQuestion