안드로이드 개발

[Android/Kotlin] Hide Activity's Bottom Navigation in Fragment (프래그먼트에서 액티비티 바텀 네비게이션 숨기기

나도개발자 2020. 9. 29. 12:16

액티비티에서 프래그먼트를 불러오면 바텀 네비게이션이 보이는 경우가 있다. 이럴 때 각 프래그먼트에서 바텀 네비게이션을 가리는 방법에 대한 포스팅이다.

 

1. activity에 Bottom Navigation을 Show/Hide 함수 만들기

프로그래먼트를 불러오는 상위 activity에 HideBottomNavi라는 함수를 만들어준다. state 값에 따라 Bottom Navigation의 visibility 속성을 이용하여 보여주거나 숨겨주는 기능을 한다.

fun HideBottomNavi(state: Boolean){
        if(state) binding.navi.visibility = View.GONE else binding.navi.visibility = View.VISIBLE
    }

 

2. 원하는 fragment에서 함수 불러오기

Fragment 생명주기에서 시작인 onCreate()에서 Bottom Navigation을 숨겨주고, Fragmnet가 사라지기 전 onDestory()에서 다시 Bottom Navigation을 보여준다.

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val mainAct = activity as MainAct
        mainAct.HideBottomNavi(true)
    }
override fun onDestroy() {
        super.onDestroy()

        val mainAct = activity as MainAct
        mainAct.HideBottomNavi(false)
    }

 

완성

 

 

 

본 작성자는 안드로이드 개발을 공부하고 있는 학생으로 피드백 및 질문을 환영합니다. 그러나 무단복제 및 배포는 정중하게 사양하고 있으며, 참고 사이트로 링크를 남기실 때는 동의를 구해주시기 바랍니다.

반응형