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.