我已经创建了示例程序来测试方向。如果纵向模式并且我以相反的方式倾斜手机,我希望我的示例应用程序 reversePortrait。在阅读了很多关于此的问题之后 - 认为我们需要使用:
onConfigurationChanged(Configuration newConfig)
我正在尝试以下操作:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
Configuration c = getResources().getConfiguration();
Log.e("Config",""+c);
if (c.orientation == Configuration.ORIENTATION_PORTRAIT)
{
// portrait
Log.e("On Config Change","portrait");
}
else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// landscape
Log.e("On Config Change","LANDSCAPE");
}
}
list .xml
android:configChanges="orientation"
连这个都试过了
android:configChanges="orientation|screensize"
奇怪,我没有在 OnConfigurationChange 方法中获取日志。
不确定。这里有什么问题?
我正在使用最低 API 8 来定位 Api 18。
有人可以帮我解决这个问题吗?
谢谢!
最佳答案
将目标 API 更改为 19(4.4 kitkat) 后,我遇到了同样的问题 您需要为高于版本 17 的目标添加 layoutDirection 属性。
我的属性看起来像:
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|layoutDirection"
关键是添加'layoutDirection'
关于android - onConfigurationChanged 不会在 android 中任何时候被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17960525/