我的活动方向固定为风景。我在此活动中通过GLsurface视图对3种不同的布局进行了膨胀。根据用户操作,一次只能看到其中一种布局。其中一个布局是视频视图。我想支持视频的纵向和横向播放。但对于所有其他观点,需要将其修复为景观。我怎样才能做到这一点。
感谢您的时间和帮助
答案 0 :(得分:1)
在AndroidManifest.xml活动声明中删除
android:orientation
标签&添加
android:configChanges="keyboardHidden|orientation"
现在覆盖您活动中的以下功能
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig); //To change body of overridden methods use File | Settings | File Templates.
if (!isVideoViewSet)//change orientation to portrait other Views, skip for Video View
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
在这里使用一些标记(上面的代码片段中的 isVideoViewSet ),您可以检查设置了哪个视图并相应地设置了活动方向。
答案 1 :(得分:0)
首先,我建议不要在同一活动中夸大三个不同的观点,而是建议除了一个基本活动之外还使用3种不同的活动。
编辑:删除LinearLayout代码,因为这将是多余的。您只需更改方向并在事件上修复它们即可打开各个视图。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);