为什么 appcompat-v7:22.2.0 会破坏 ActionMode 覆盖 ActionBar?

Why does appcompat-v7:22.2.0 break ActionMode overlaying ActionBar?

在我的项目中,我有一个使用操作模式的屏幕:

mActionMode = getActivity().startActionMode(this);

我需要这个 "overlay" 我的操作栏而不是将所有内容都向下推。我使用以下主题实现此目的:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowActionModeOverlay">true</item>
 </style>

到目前为止,这在使用 appcompat 库的 22.1.0 版时运行良好:

compile 'com.android.support:appcompat-v7:22.1.0'

这是结果 - 完美 -

最近升级到 appcompat 库的 22.2.0 版本:

compile 'com.android.support:appcompat-v7:22.2.0'

现在我有以下内容:

如您所见,"overlay" 行为已完全损坏。我在这里遗漏了什么吗?

仅供参考 - 我在 XML 布局中使用工具栏,然后使用:

 activity.setSupportActionBar(mToolbar);

您应该使用 appcompat 样式属性,不带框架前缀:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionModeOverlay">true</item>
</style>

我不是 100% 确定,但我相信对于较新的 API 版本, 保留框架版本会很好,因此:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionModeOverlay">true</item>
    <item name="android:windowActionModeOverlay">true</item>
</style>