안드로이드
[안드로이드] Bottom Navigation View 숨기기/ 프래그먼트에서 Activity View Control하기(Kotlin)
디벨로펄
2022. 9. 22. 23:24
반응형
Bottom Navigation으로 Activity를 구성
문제점 : 로그인 Fragment는 bottom Navigation이 없어야 한다.
1. Activity에 NavigationView를 안보이게 하는 메서드를 추가한다.(hideBottomNavigation)
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
...
}
fun hideBottomNavigation(state:Boolean){
if(state) binding.navView.visibility = View.GONE else binding.navView.visibility=View.VISIBLE
}
}
2. Fragment에서 적절하게 사용한다.
로그인 Fragment에서 hideBottomNavigation을 true로 설정.
class LoginFragment : Fragment() {
private var _binding: FragmentLoginBinding? = null
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
...
// bottom Navigation 제거 코드.
val mainActivity = activity as MainActivity // casting
mainActivity.hideBottomNavigation(true)
return root
}
}
반응형