将透明活动的方向设置为与父活动的方向不同

时间:2015-09-26 22:33:09

标签: android android-activity android-theme android-orientation

给出AlphaActivity和BravoActivity。 BravoActivity由AlphaActivity启动

startActivity(new Intent(AlphaActivity.this,BravoActivity.class));
onCreate中的

AlphaActivity有

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

对于BravoActivity,onCreate方法有类似但不同的调用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

问题是:BravoActivity是一项透明的活动。所以我想要的设计是AlphaActivity应该保持在LANDSCAPE方向,同时BravoActivity保持在PORTRAIT方向。我该如何做到这一点?

现在,一旦BravoActivity开始,AlphaActivity的方向就会变为PORTRAIT - 我不想这样做。感谢。

1 个答案:

答案 0 :(得分:0)

尝试添加

  

机器人:screenOrientation = “nosensor”

Activity

中的manifest.xml

<强> UPD_0:

也请尝试覆盖onConfigurationChanged。我的想法 - 它可能会在您的活动开始改变方向时调用,您可以设置您想要的方向而不是所需的系统)

@Override
public void onConfigurationChanged(Configuration newConfig) 
{
    super.onConfigurationChanged(newConfig);
    setRequestedOrientation(ActivityInfo.YOURS_DESIRED_ORIENTATION);
}