活动方向变化

时间:2013-06-27 19:06:21

标签: android class orientation

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

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

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

game.class.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

但这不会编译。

2 个答案:

答案 0 :(得分:1)

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

希望它对你有所帮助。

答案 1 :(得分: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){

}

}