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