我正在开发一个适合一个屏幕的替代home application
。
目前我有一个活动,其中包含手机屏幕的高度和宽度,我尝试将默认壁纸设置为背景。
我使用此代码执行此操作:
getWindow().setBackgroundDrawable(peekWallpaper());
问题是它拉伸壁纸使其适合一个屏幕,所以我的壁纸变得完全变平。
我发现了一个避免这种情况的解决方法,我扩展了drawable类并覆盖了方法setBounds以避免拉伸。但通过这样做,我只看到我的壁纸的左上角。所以我想把它放在中心位置。
我该怎么做?我能以正确的方式去做吗?
我在WallpaperManager类中看到了一些移动壁纸的方法:
setWallpaperOffsetSteps(float xStep, float yStep)
和
setWallpaperOffsets (IBinder windowToken, float xOffset, float yOffset)
但我没有找到关于如何使用IBinder
参数的任何代码示例,它对我的案例有用吗?