android hide toolbar in specific fragment

前端 未结 9 1260
既然无缘
既然无缘 2021-01-31 08:20

I have a problem that I don\'t know how to solve. How do you hide a toolbar in a specific fragment, I have already been searching around on the internet and what I found was com

相关标签:
9条回答
  • 2021-01-31 08:29

    Simply use supportActionBar?.hide() or supportActionBar?.show(). If you are using NavigationController:

     navController.addOnDestinationChangedListener { controller, destination, arguments ->
            if (destination.id == R.id.loginSuccessFragment) {
                supportActionBar?.hide()
            } else {
                supportActionBar?.show()
            }
        }
    
    0 讨论(0)
  • 2021-01-31 08:37

    in kotlin hide and show supportActionBar as follows:

    override fun onResume() {
        super.onResume()
        (activity as AppCompatActivity).supportActionBar?.hide()
    }
    
    override fun onStop() {
        super.onStop()
        (activity as AppCompatActivity).supportActionBar?.show()
    }
    

    and if you want to have your own custom toolbar, in OncreateView set:

    //your Custom toolbar in xml
    val toolbar = binding.toolbar
    (activity as AppCompatActivity).setSupportActionBar(toolbar)
    
    0 讨论(0)
  • 2021-01-31 08:45

    Put this code in fragment in which you want to hide toolbar...

    Add this( ((AppCompatActivity)getActivity()).getSupportActionBar().hide();) in onCreateView or in onResume.

    and do this in onDestroy()

    @Override
    public void onDestroy() {
    super.onDestroy();
    ((AppCompatActivity)getActivity()).getSupportActionBar().show();}
    
    0 讨论(0)
  • 2021-01-31 08:46

    Just add these methods to the fragment where you want to diable the toolbar ,and also in the fragment's onStop() make it visible again.

     @Override
        public void onResume() {
            super.onResume();
            ((AppCompatActivity)getActivity()).getSupportActionBar().hide();
        }
    
        @Override
        public void onStop() {
            super.onStop();
            ((AppCompatActivity)getActivity()).getSupportActionBar().show();
        }
    
    0 讨论(0)
  • 2021-01-31 08:47

    use getSupportActionBar().hide(); and getSupportActionBar().show(); in lifeCycle methods

    0 讨论(0)
  • 2021-01-31 08:48

    Put this code in fragment in which you want to hide toolbar...

     @Override
    public void onResume() {
        super.onResume();
        ((AppCompatActivity)getActivity()).getSupportActionBar().hide();
    }
    @Override
    public void onStop() {
        super.onStop();
        ((AppCompatActivity)getActivity()).getSupportActionBar().show();
    }
    
    0 讨论(0)
提交回复
热议问题