Android 上下文操作栏不覆盖我的工具栏

Android 上下文操作栏不覆盖我的工具栏,android,android-listview,android-actionbar,android-toolbar,Android,Android Listview,Android Actionbar,Android Toolbar,我已经创建了一个活动,并将工具栏设置为操作栏,我将其放置在底部 在该活动中,我有一个包含一些数据的listview 问题是,当我长按列表项时,上下文操作栏显示在顶部,而不是覆盖位于底部的工具栏 我的活动主题 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- Base application theme. --> <style name="myActivityTheme" parent="The

我已经创建了一个活动,并将工具栏设置为操作栏,我将其放置在底部

在该活动中,我有一个包含一些数据的listview

问题是,当我长按列表项时,上下文操作栏显示在顶部,而不是覆盖位于底部的工具栏

我的活动主题

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="myActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="android:windowActionModeOverlay">true</item>
</style>
我应该怎么做才能使CAB覆盖我的工具栏

编辑

这是类中处理长时间单击的
onCreateActionMode
方法

private class Selector implements AbsListView.MultiChoiceModeListener{

    @Override
    public boolean onCreateActionMode(android.view.ActionMode mode, Menu menu) {
        mode.getMenuInflater().inflate(R.menu.my_activity_menu,menu);
        toolbar.setVisibility(View.VISIBLE);
        return true;
    }

你可以试试这个主题,这可能会解决你的问题

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

 </style>

真的
假的
@颜色/原色
@颜色/原色暗
@颜色/颜色重音

如果希望上下文
操作栏
工具栏
重叠,请使用此选项

<item name="windowActionModeOverlay">true</item>
true
而不是

<item name="android:windowActionModeOverlay">true</item>
true

@彩色/彩色原色
@颜色/原色\u深色
@颜色/颜色口音
@style/AppCompatiAlertDialogStyle
真的
**真的**

使用
这对我来说很有效

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

            <item name="windowNoTitle">true</item>
            <item name="windowActionBar">false</item>
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
            <item name="windowActionModeOverlay">true</item>

     </style>

真的
假的
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
真的

由于我的工具栏位于活动的底部,所以解决方案是制作我自己的上下文操作栏来覆盖它

下面这个项目给了我一个良好的开端


我甚至尝试过删除
android名称空间
,但它仍然出现在顶部,而不是在底部覆盖我的工具栏。您的编辑正是我在问题中使用的,仍然存在问题。在编辑中没有父主题不同。它是Theme.AppCompat.NoActionBar而不是Theme.AppCompat.Light.NoActionBar,并且还需要删除False。请通过扩展AppCompatActivity而不是ActionBarActivity进行检查。它完全解决了我的问题。我将android:windowActionModeOverlay删除为windowActionModeOverlay,非常感谢这并没有解决问题。它只会更改CAB的主题/样式,但不会将其移动到我的工具栏所在的底部。为什么您要使用toolbar.setVisibility(View.VISIBLE);?以onCreateActionMode显示工具栏??你需要把它去掉line@RajeshJadav我只希望长按列表项时工具栏(现在是我的actionbar)可见。然后我将其设置为
不可见
,当一个操作被执行时,实际上您不需要这样做。当您使用windowActionModeOverlay时,设置为true。上下文操作栏取代了工具栏,但您正在onCreateActionMode中显示工具栏,这不是必需的。当您单击上下文操作栏中的“完成”按钮时,工具栏将自动替换上下文actionbar@RajeshJadav我不知道为什么这辆出租车还认为我的顶部有一个actionbar!想象一下,即使删除了
工具栏.setVisiblity
行。它仍然显示在我活动的顶部
<item name="android:windowActionModeOverlay">true</item>
<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/color_primary</item>
        <item name="colorPrimaryDark">@color/color_primary_dark</item>
        <item name="colorAccent">@color/color_accent</item>

        <item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>

        <!-- required for toolbar in prelolipop -->
        <item name="android:windowNoTitle">true</item>
        **<item name="windowActionModeOverlay">true</item>**

    </style>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

            <item name="windowNoTitle">true</item>
            <item name="windowActionBar">false</item>
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
            <item name="windowActionModeOverlay">true</item>

     </style>