如果应用程序启动为横向

时间:2017-08-09 12:24:37

标签: android orientation android-orientation landscape-portrait

有什么问题?

如果应用程序以纵向方式启动,则将活动设为纵向,否则为横向,但不检测基于传感器或基于使用的旋转。

我的解决方案:

在应用程序类中创建变量 isPortrait 并检测Application类的onCreate中的方向,然后在所有活动中使用此变量来检测要使用的方向。

我的解决方案中的问题:

不知道在这种情况下如何更改不同的配置布局并相应地映射它们,如果用户在应用程序以纵向方式启动后将其方向更改为横向,该怎么办?是否有 ActivityInfo 标志来实现此行为。

1 个答案:

答案 0 :(得分:0)

在atvitity标签的Mainfest中添加以下代码

android:configChanges="orientation|screenSize"

并在你的活动中覆盖onConfiguration方法,如下所示

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    log.e("onConfigurationChanged", "screen orientation change");
}