最近做项目有这样的需求: 在activity中启动一个dialog时, 启动的dialog的背景设为启动acitivity的模糊化图片.
实现思路:
1. 截屏, 获取当前activity的界面
2. 将获取的照片进行模糊化
3. 将模糊化的图片设为dialog的背景
1.截屏, 获取当前activity的界面
private Bitmap takeScreenShot(Activity activity) { View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap b1 = view.getDrawingCache(); // 获取屏幕长和高 int width = activity.getResources().getDisplayMetrics().widthPixels; int height = activity.getResources().getDisplayMetrics().heightPixels; Bitmap bmp = Bitmap.createBitmap(b1, 0, 0, width, height); view.destroyDrawingCache(); return bmp; }