我写的动态壁纸有方向问题。基本上,画布将根据在其上方打开的应用程序进行旋转。我对此进行了测试,并意识到当我从先前打开的应用程序返回主屏幕时触发了 onSurfaceChanged() 方法,该应用程序的方向已更改。
我想一个更好的问题是,为什么我的动态壁纸表面会在应用程序打开并且它的方向改变时发生变化? 有没有办法防止我的动态壁纸方向不断变化?谢谢,希望这有意义吗?
我写的动态壁纸有方向问题。基本上,画布将根据在其上方打开的应用程序进行旋转。我对此进行了测试,并意识到当我从先前打开的应用程序返回主屏幕时触发了 onSurfaceChanged() 方法,该应用程序的方向已更改。
我想一个更好的问题是,为什么我的动态壁纸表面会在应用程序打开并且它的方向改变时发生变化? 有没有办法防止我的动态壁纸方向不断变化?谢谢,希望这有意义吗?
您可以在 android.service.wallpaper.WallpaperService 中处理屏幕方向。具有以下方法的引擎类:
public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height)
...只需相应地处理事件。
您不能将android:configChanges或android:screenOrientation添加到 WallpaperService!(创建动态壁纸时使用的)
我会将此作为评论添加到“Anirudha”的答案中,但我没有足够的声誉这样做。
当方向改变时,Android 应用程序会重新启动 Activity。您可以使用
onConfigurationChanged()
调用其方法。