在Fragment中隐藏SupportActionBar

时间:2015-11-12 21:14:36

标签: android android-fragments android-support-library android-toolbar

我想在我的片段中隐藏我的MainActiviy工具栏,我正在使用:

getActivity().findViewById(R.id.appToolbar).setVisibility(View.GONE);

((AppCompatActivity) getActivity()).getSupportActionBar().hide();

并且无法正常工作。我的片段有自己的工具栏,已经显示,但我的活动工具栏也显示出来了。我究竟做错了什么?我只是想展示我的片段ToolBar

3 个答案:

答案 0 :(得分:0)

ActionBar由Activity而不是Fragment拥有,所以你需要在这个Activity上调用.hide()方法,试试这个:

getActivity.getSupportActionBar().hide();

答案 1 :(得分:0)

如果您使用AppCompat toolbar。解决方案:

  1. 在使用Actionbar之前必须隐藏AppCompat Toolbar,方法是在thisthis
  2. 之后应用合适的NoActionBar主题
  3. 使用此guide
  4. 设置AppCompat toolbar到活动

    [R

    Toolbar toolbar = (Toolbar) findViewById(R.id.appToolbar);
    setSupportActionBar(toolbar);//replace ActionBar with toolbar
    findViewById(R.id.appToolbar).setVisibility(View.GONE);//hide if you want
    

答案 2 :(得分:0)

实际上问题是我将片段添加到backstack,如果我们在backstack中有“something”,我们就无法删除或隐藏SupportActionBar,我删除了项目中的addToBackStack()方法,我已经删除了我的片段中的supportBar