我正在尝试构建一个定制的相机应用程序。我有一个扩展SurfaceView的类用于相机预览。当设备改变方向时,这个表面会被销毁和重新创建,导致明显的“闪烁”,影响用户体验。
我想做的是防止在方向改变时必须重新创建此相机预览。此外,我想在此预览上叠加一些按钮(例如闪光灯、前/后摄像头选择等),这些按钮会随着方向的改变而旋转。这与股票相机应用程序所做的类似: 横屏模式下的股票相机。 纵向模式下的股票相机。请注意,按钮在方向更改时会旋转。 我发现最好的方法(例如在这里中描述)是使用清单文件强制将活动方向设置为横向,一旦拍摄完毕,根据实际设备方向旋转所得到的图片。我理解这种方法的缺点是,这将防止覆盖按钮的旋转。另外,我已经了解了一些关于使用片段和保留片段实例的内容,我想知道是否可以通过保留包含相机预览的片段来实现我的目标(是的,我是一个新手)。
什么是正确的做法?
我想做的是防止在方向改变时必须重新创建此相机预览。此外,我想在此预览上叠加一些按钮(例如闪光灯、前/后摄像头选择等),这些按钮会随着方向的改变而旋转。这与股票相机应用程序所做的类似: 横屏模式下的股票相机。 纵向模式下的股票相机。请注意,按钮在方向更改时会旋转。 我发现最好的方法(例如在这里中描述)是使用清单文件强制将活动方向设置为横向,一旦拍摄完毕,根据实际设备方向旋转所得到的图片。我理解这种方法的缺点是,这将防止覆盖按钮的旋转。另外,我已经了解了一些关于使用片段和保留片段实例的内容,我想知道是否可以通过保留包含相机预览的片段来实现我的目标(是的,我是一个新手)。
什么是正确的做法?
configChanges
选项,我能够重新组织视图而不使用默认的旋转动画。我在onLayout
中设置了正确的位置并调用了invalidate
。无论如何,谢谢;) - Blo