CAB显示在工具栏上方

时间:2016-06-16 03:15:25

标签: android toolbar android-toolbar

我已经尝试了很多关于此的建议,但似乎没有任何效果。当我长按ListView中的项目时,我希望有一个上下文操作栏覆盖工具栏,但它总是将其向下推并将CAB置于其上方。

这是我的代码:

styles.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="windowActionModeOverlay">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

MyApp.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    final ListView listv = (ListView) findViewById(R.id.main_list);
    registerForContextMenu(listv);
    listv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    listv.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            toolbar.inflateMenu(R.menu.menu_main_contextual);
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            toolbar.inflateMenu(R.menu.menu_main);
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            //getMenuInflater().inflate(R.menu.menu_main_contextual, menu);
            return true;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            switch (item.getItemId()) {
                case R.id.action_delete:
                    //delete
                    return true;
                default:
                    return false;
            }
        }

        @Override
        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
            // TODO Auto-generated method stub
        }
    });

我已添加

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

到我的主题,但那不起作用。

也没有
<item name="android:windowActionModeOverlay">true</item>

我甚至尝试过改变主题,但这也没有用。

对此的任何帮助都会很棒!我一直试图解决这个问题。

0 个答案:

没有答案