0

我可以使用此方法告诉不同的活动从当前活动更改其方向吗?

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

我正在尝试做类似的事情:

game.class.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

但这不会编译。

4

2 回答 2

1

编辑。只需使用所选值传输字符串,例如方向。并使用另一个类中的构造函数构建它。然后在 onCreate 你可以写 if(this.orientation == "Landscape){ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }

希望它可以帮助你。

于 2013-06-27T19:21:28.180 回答
0

当您运行下一个活动时,发送有关用于启动下一个活动的意图的额外信息,并在下一个活动的 onCreate 中根据传递的信息更改方向。

例子

Intent intent = new Intent(getBaseContext(), NextActivity.class);
intent.putExtra("Orientation", "landscape");
startActivity(intent)

在下一个活动中执行以下操作

Intent intent = getIntent();
String orientation = intent.getStringExtra("Orientation")

android:configChanges="orientation|keyboardHidden" do this in manifest

使用活动的 onConfigurationChanged 方法来检测方向变化

public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {

} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

}

}

于 2013-06-27T19:19:17.197 回答