在一个Activity中,我嵌入了一个视频小部件(VideoView或与SurfaceView相关的MediaPlayer),当屏幕旋转时应该适应其大小。这个Activity用作TabHost的内容。
我的当前方法
为了处理屏幕旋转,我提供了两个布局,一个是竖屏模式下的布局,另一个是横屏模式下的布局(放置在./res/layout和./res/layout-land文件夹中)。
这种方法的问题在于每次旋转屏幕都会创建一个新的Activity,因此我不使用同一个MediaPlayer(或VideoView) => 我每次旋转屏幕都会从头开始播放视频。由于视频是从网络上流式传输的,所以没有办法存储视频中的位置,以便重新启动视频时可以查找到该位置。 我想做什么 当屏幕旋转时,我需要能够翻译/缩放/隐藏Activity中的视图。平移/缩放需要保持布局组织,以便有一个适应不同屏幕大小的布局。 我的问题
这种方法的问题在于每次旋转屏幕都会创建一个新的Activity,因此我不使用同一个MediaPlayer(或VideoView) => 我每次旋转屏幕都会从头开始播放视频。由于视频是从网络上流式传输的,所以没有办法存储视频中的位置,以便重新启动视频时可以查找到该位置。 我想做什么 当屏幕旋转时,我需要能够翻译/缩放/隐藏Activity中的视图。平移/缩放需要保持布局组织,以便有一个适应不同屏幕大小的布局。 我的问题
- 如何将视图翻译/移动到屏幕左上角的位置?
- 如何隐藏/平移View以使一个View消失?
如何缩放/调整View的大小以适应其周围的可用空间?
我需要实现哪个接口、回调函数才能被通知屏幕旋转来触发这些变换?