我需要访问当前裁剪的墙纸(作为可绘制对象或位图)以便模糊它的某些部分并将这些模糊部分设置为不同视图的背景。
在Android中,可以通过调用
WallpaperManger.getDrawable()
将当前壁纸作为drawable获取。但是,此方法返回完整的可绘制对象,通常被用户裁剪。结果是,当使用这个 drawable 时,墙纸被扭曲并且不能用作视图的背景并且变得模糊,因为没有办法“取消扭曲它”。
另一种方法是将活动设置为透明并将
windowShowWallpaper
设置为true
。这种方法的问题是无法访问墙纸。调用 getWindow().getDecorView().getBackground()
没有返回任何内容,因为没有背景。该活动只是透明的,并显示其背后的墙纸。