为什么 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>
在我的项目中,我有一个使用操作模式的屏幕:
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>