3

我的活动方向固定为横向。我在这个活动中通过 GLsurface 视图膨胀了 3 个不同的布局,根据用户操作,一次只能看到其中一个。这种布局之一是视频视图。我想支持视频的垂直和水平播放。但是对于所有其他视图,它需要固定为横向。我怎样才能做到这一点。

感谢您的时间和帮助

4

2 回答 2

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),您可以检查设置了哪个视图并相应地设置活动方向。

于 2013-04-17T08:50:28.240 回答
0

首先,我建议不要在同一个活动中夸大三个不同的视图,而是建议在一个基本活动之外使用 3 个不同的活动。

编辑:删除 LinearLayout 代码,因为这将是多余的。您可以更改方向并将它们固定在事件上以打开各个视图。

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
于 2013-04-17T07:10:53.670 回答