Android - ActionBar没有使用onConfigurationChanged(AppCompat)调整大小

Tiz*_*ato 7 android android-appcompat android-actionbar

在我的应用程序清单中,我添加了android:configChanges以防止在旋转时重新加载/重新启动活动

<activity
  android:name=".MainActivity"
  android:label="@string/app_name"
  android:configChanges="orientation|keyboardHidden|screenSize" >
Run Code Online (Sandbox Code Playgroud)

它工作,但supportActionBar(我正在使用AppCompat)保持他的高度与小字体.

ActionBar应该在纵向上更大,在横向上更小,但它保持初始值:

  • 如果我从风景开始,动作栏在纵向保持薄
  • 如果我从肖像开始,动作栏在景观中保持很大

删除android:configChanges ="orientation | keyboardHidden | screenSize"是我找到的唯一解决方案,但应用程序重新启动旋转,我需要保留应用程序内容

从肖像开始 在此输入图像描述

从景观开始 在此输入图像描述

从横向和旋转屏幕开始到纵向(小动作条和小字体高度) 在此输入图像描述

Der*_*ung 4

通过设置android:configChanges="orientation|keyboardHidden|screenSize"

您声明您将自行处理这些配置更改。在正常情况下,您不应该设置它,并让 Android 重新创建您的 Activity。

编辑:

如果你想保留这条线android:configChanges,你必须覆盖onConfigChanged()并改变你自己需要的一切,例如ActionBar/ToolBar的大小。