我正在开发一个应用程序,我希望第一个屏幕以纵向(Portrait)模式显示。然后我进入下一个横向(landscape)模式的活动。
问题是,如果我返回到第一个屏幕,则它将处于横向模式,显然继承了上一个屏幕的方向。是否有可能将初始屏幕方向设置为纵向,用户可以在需要时进行更改?
谢谢!
编辑:已解决
感谢您的建议,我已经克服了这个问题。稍微有点难解释,但我会尽力说明。
因此,我的第一个活动具有以下功能:如果手机转向为横向,则会显示全屏图像;如果手机转向为纵向,则会显示列表视图。
第二个活动加载一个编辑页面,让我更改该图像。
因此,现在如果我在编辑器活动中按下返回键,则第一个活动将以LANDSCAPE列表视图加载,这不是我想要的。
因此,为了解决这个问题,我首先在第一个活动为横向模式时禁用了返回按钮,这样用户就无法在不将电话转向为横向模式的情况下从视图中移除自己。
然后我移动了代码:
在 onCreate 方法之前将代码置于我的类顶部。这解决了我的问题,现在,如果我在横屏模式下返回第一个活动,唯一显示的就是横屏视图。希望以上内容清晰易懂。再次感谢您的帮助!
问题是,如果我返回到第一个屏幕,则它将处于横向模式,显然继承了上一个屏幕的方向。是否有可能将初始屏幕方向设置为纵向,用户可以在需要时进行更改?
谢谢!
编辑:已解决
感谢您的建议,我已经克服了这个问题。稍微有点难解释,但我会尽力说明。
因此,我的第一个活动具有以下功能:如果手机转向为横向,则会显示全屏图像;如果手机转向为纵向,则会显示列表视图。
第二个活动加载一个编辑页面,让我更改该图像。
因此,现在如果我在编辑器活动中按下返回键,则第一个活动将以LANDSCAPE列表视图加载,这不是我想要的。
因此,为了解决这个问题,我首先在第一个活动为横向模式时禁用了返回按钮,这样用户就无法在不将电话转向为横向模式的情况下从视图中移除自己。
然后我移动了代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//Show landscape picture
}
}
在 onCreate 方法之前将代码置于我的类顶部。这解决了我的问题,现在,如果我在横屏模式下返回第一个活动,唯一显示的就是横屏视图。希望以上内容清晰易懂。再次感谢您的帮助!