onConfigurationChanged在android中没有被调用
作者:互联网
我已经创建了示例程序来测试Orientation.如果纵向模式和我倾斜手机相反,我希望我的示例应用程序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");
}
}
的manifest.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-orientation,android,screen-orientation 来源: https://codeday.me/bug/20190825/1720421.html