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

Edi*_*sar 14 android android-listview android-actionbar android-toolbar

我创建了一个活动并将工具栏设置为我位于底部的操作栏.

在该活动中,我有一个包含一些数据的列表视图.

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

我的活动主题

<?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>
Run Code Online (Sandbox Code Playgroud)

我的工具栏

<android.support.v7.widget.Toolbar
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:id="@+id/toorbar"
    android:background="@android:color/white"
    android:layout_gravity="bottom">
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

我的活动

protected void onCreate(Bundle savedInstanceState){
    ToolBar toolbar =(ToolBar) findViewById(R.id.toolbar)
    setSupportActionBar(toolbar)
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能让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;
    }
Run Code Online (Sandbox Code Playgroud)

Raj*_*esh 44

如果您希望Contextual ActionBar重叠,请Toolbar使用此方法

<item name="windowActionModeOverlay">true</item>
Run Code Online (Sandbox Code Playgroud)

代替

<item name="android:windowActionModeOverlay">true</item>
Run Code Online (Sandbox Code Playgroud)


Edi*_*sar 0

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

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

https://github.com/afollestad/material-cab