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

时间:2015-08-13 16:20:35

标签: java android android-actionbar android-appcompat android-actionmode

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

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'

这是结果 - 完美 -

enter image description here

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

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

现在我有以下内容:

enter image description here

正如您所看到的,&#34;叠加&#34;行为完全被打破。我在这里错过了什么吗?

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

 activity.setSupportActionBar(mToolbar);

1 个答案:

答案 0 :(得分:1)

您应该使用 /// <summary> /// Handles the OnSelectionChanged event of the ComboBoxVersions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="SelectionChangedEventArgs"/> instance containing the event data.</param> private void ComboBoxVersions_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { var dataContext = this.DataContext as TestRunnerControlViewModel; dataContext.SelectedVersion = ((ComboBox) sender).SelectedValue.ToString(); } 样式属性,而不使用框架前缀:

appcompat

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

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