如何使Contextual Action Bar显示在底部

时间:2015-11-17 14:24:41

标签: android android-listview android-actionbar android-actionmode android-cab

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

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

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

我的活动主题

<?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>

我的工具栏

<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>

我的活动

protected void onCreate(Bundle savedInstanceState){
    ToolBar toolbar =(ToolBar) findViewById(R.id.toolbar)
    setSupportActionBar(toolbar)
}

这是我班上处理长时间点击的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);
        return true;
    }

如何让CAB显示在底部?

2 个答案:

答案 0 :(得分:1)

使用工具栏制作您自己的CAB。然后你可以把它放在任何你喜欢的地方。

这个项目应该让你有个先机。

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

答案 1 :(得分:0)

<!-- 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>

使用<item name="windowActionModeOverlay>true</item>上下文操作栏覆盖工具栏。如果您使用过,请删除 <item name="windowActionBar">false</item>。它对我有用。