android:膨胀视图,其方向与活动不同

时间:2013-04-17 07:00:37

标签: android orientation layout-inflater

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

感谢您的时间和帮助

2 个答案:

答案 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);