如何获得上下文操作栏可见性?

时间:2016-03-07 21:22:53

标签: android contextual-action-bar

我的问题很简单。
如何获得Contextual Action Bar(CAB)的可见度?

例如,我有一个ActionMode和一个回调。

mActionMode = activity.startActionMode(mCallback);

现在我需要知道CAB是否可见。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

没有办法查询。但是@RafaelC建议的答案是不必要的(抱歉,没有难过的感觉)...您的代码已经设计好,因此您可以知道何时可见。查看何时启动操作模式,对ActionMode对象的引用将保存在您的成员变量中:

mActionMode = activity.startActionMode(mCallback);

然后在onDestroyActionMode中,如果尚未添加此行,则添加该行:

mActioinMode=null;

就是这样!

现在:

if(mActionMode!=null) //your ActionMode bar is visible

if(mActionMode==null) //your ActinMode bar is not visible.

希望这对新编码员有所帮助...问候:)

答案 1 :(得分:0)

我想这个问题没有内置的解决方案。

我通过在回调类

中设置boolean标志来解决它
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
    this.visible = true;
    /**/
    return true;
}

@Override
public void onDestroyActionMode(ActionMode mode)
{       
    this.visible = false;
    /**/
}

然后,可以使用callback.isVisible();