android - onConfigurationChanged 不会在 android 中任何时候被调用

标签 android screen-orientation 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");

    }
}

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/

相关文章:

android - 没有以编程方式为 TableRow 设置填充?

android - 将 ListView 行最小化为一行

iOS 8 屏幕旋转扰乱 View

javascript - 元素上的 jQuery .outerHeight() 在方向更改时返回不正确的大小

Android AlertDialog 默认方向

java - 方向改变时保持值(value)

android - 寻找使用 Kii Cloud 在 Android 应用程序上显示广告的代码示例

java - libGDX - 对不同的屏幕使用不同的 InputProcessors?

android - 手机间隙 : Force screen orientation portrait/landscape

android - 自动 fragment 恢复的工作原理