我正在开发一个应用程序,我想要查看的第一个屏幕是纵向。然后我去下一个横向设置的 Activity 。
我面临的问题是,如果我返回到第一个屏幕,它将被设置为横向,显然继承了前一个屏幕的方向。
是否有可能将初始屏幕方向设置为纵向,但用户可以继续并在需要时将其更改为横向?
谢谢
编辑:已解决
感谢您的建议。我已经克服了这个问题。解释起来有点困难,但我会尽力而为。
所以我的第一个 Activity 有一个功能,如果手机转向横向,它会全屏显示图像。再一次,如果手机是纵向的,纵向 View ,我有一个 ListView 。
第二个 Activity 加载一个编辑页面,让我更改该图像。
所以现在如果我按回编辑器 Activity 。第一个 Activity 将加载到 LANDSCAPE 中的 ListView 中。这不是我想要的。
因此为了解决这个问题。我首先在第一个 Activity 是横屏时禁用了后退按钮,这样用户就无法在不将手机转为横屏的情况下将自己从 View 中移除。
然后我移动了代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//Show landscape picture
}
}
在 onCreate 方法之前到我类(class)的顶部。
这已经解决了我的问题,所以现在,如果我要回到我的第一个 Activity ,而在风景中,唯一会显示的是风景 View 。
我希望上面的内容足够清楚,让所有人都能理解 :)
再次感谢您的帮助!
最佳答案
您可以在 onCreate()- 方法中以编程方式设置屏幕方向:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
就在调用 super.onCreate(); 之前。
希望能帮到你。
最好的问候, G_J
关于android - 设置初始屏幕方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379265/