How to show a custom actionbar view from one fragment only

后端 未结 2 1717
梦谈多话
梦谈多话 2021-01-24 05:17

I have a requirement for my app that a custom action bar view be shown from one fragment only (the landing page fragment). The problem is that this action bar is appearing when

2条回答
  •  無奈伤痛
    2021-01-24 05:56

    For this issue, only show actionbar for one fragment without show on all other fragments, solution could be very easy:

    In your activity that hosts your fragments:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ... ...
    
        // for API >= 11
        getActionBar.hide();
        // for API < 11
        getSupportActionBar().hide();
    
        ... ...
    }
    

    Then in the fragment that you want to show actionbar:

    @Override
    public void  onAttach(Activity activity){
        activity.getActionBar().show(); //getSupportActionBar() for API<11
    
    }
    
    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
           getActivity().getActionBar().hide(); //getSupportActionBar() for API<11
        } else {
           getActivity().getActionBar().show(); //getSupportActionBar() for API<11
    }
    

    }

提交回复
热议问题