Contextual ActionBar不包括工具栏

时间:2015-01-22 13:36:27

标签: android

我正在工具栏上创建一个上下文操作栏。我的工具栏最小高度设置为100dp。 首先,如果我设置

 actionmode =      MyActivity.this.startActionMode(new mycallback());

并且工具栏的高度为wrap_content,工具栏覆盖有上下文操作栏。但如果高度为100 dp,则上下文栏仅覆盖工具栏的一部分。 如何设置上下文动作栏的高度。 如果我试着设置

actionmode.setCustomView(v);

并且View v类似于Linearlayout,高度为100dp,存在错误。

如果我使用

actionmode =      toolbar.startActionMode(new mycallback());

正如某些stackoverflow线程中所建议的,然后我得到一个放在工具栏上方而不是它上面的CAB。 请更新如何更改CAB的大小以完全覆盖工具栏。 此外,CAB上的ShareActionProvider不显示以下操作的任何应用程序,即使在没有CAB的情况下使用,ShareActionProvider也显示没有应用程序。为什么ShareActionProvider的此行为适用于CAB。我错过了要设置的东西。

@Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {

          //  invalidateOptionsMenu();
            mode.getMenuInflater().inflate(R.menu.myprovider, menu);

            MenuItem mi=menu.findItem(R.id.pprovider);
             sp=new ShareActionProvider(Material_Example.this);
            MenuItemCompat.setActionProvider(mi,sp);
            if(sp!=null) {
                Toast.makeText(Material_Example.this,"it is not null",Toast.LENGTH_LONG).show();

                sp.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
                sp.setShareIntent(getmyintent());
            }
return true;
}

    private Intent getmyintent() {

        Intent ii=new Intent(Intent.ACTION_SEND);
        ii.setType("image/*");
        return ii;
    }

enter image description here enter image description here 感谢

2 个答案:

答案 0 :(得分:1)

添加

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

到您的主题

答案 1 :(得分:0)

我想我找到了答案。如果在styles.xml

中的主题中添加以下行

然后CAB将覆盖工具栏。