Мне нравится стиль iOS 7, используемый для Notification и Музыка, как показано ниже.
Итак, я пытаюсь реализовать эту вещь в Android. После выполнения поиска я достиг, как это сделать. То, что я пробовал, следующее.
1) Сначала я беру корневую ссылку для представления и беру ее с помощью функции getDrawingCache()
вида.
linearLayout.buildDrawingCache();
SoftReference<Bitmap> bitmap = new SoftReference<Bitmap>(
Bitmap.createBitmap(linearLayout.getDrawingCache()));
linearLayout.destroyDrawingCache();
2) Я беру позицию относительно ее родителя и вырезаю изображение согласно требованию.
SoftReference<Bitmap> temp = new SoftReference<Bitmap>(
Bitmap.createBitmap(bitmap.get(), 0,
(parentHeight - childHeight), childWidth, childHeight));
3) Я делаю размытие растрового изображения каким-то алгоритмом. (Я использую Быстрое размытие битмарта для Android SDK Эффект fastBlur)
4) установите его в виде наложения.
imageView1.setImageBitmap(Utils.fastblur(temp.get(), 8));
Но моя проблема заключается в том, что требуется время, чтобы сделать снимок, а затем получить эффект размытия и резки изображения, а затем я получил конечный результат. В то время как у iOS очень быстрый процесс размывания, например, когда выдвижной ящик идет снизу, он сразу же размывает экран, который находится за ним.
Есть ли другой способ достичь этого? Поскольку я использую мой сценарий, я не могу выполнять каждую вторую привязку экрана и делать все процессы с 1 по 4 каждую секунду при каждом перемещении ящика.