본문 바로가기

Android

[버그?] androidx Toolbar app:navigationIcon not working

반응형

https://issuetracker.google.com/issues/121078028

 

Google Issue Tracker

 

issuetracker.google.com

androidx navigation과 androix toolbar를 결합하여 fragment 및 activity 네비게이션을 쉽고 간단하게 구현할 수 있는데요.

문제는 이렇게 조합하여 사용할 경우 home icon을 변경할 수 없습니다. 기본 제공 아이콘만 써야 함!!

다음과 같이 조합하여 사용하면 비슷한 효과를 낼 수 있습니다.

저는 레거시로 인해 android.widget.Toolbar를 사용했으므로 androidx toolbar에서도 같은 결과일지는 모르겠습니다!

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    if (item.itemId == android.R.id.home) {
        return navController.popBackStack() || super.onOptionsItemSelected(item)
    }
    return super.onOptionsItemSelected(item)
}

navController는 다음과 같이 얻을 수 있습니다.

val navHostFragment =
    supportFragmentManager.findFragmentById(**레이아웃에 포함된 androidx.fragment.app.FragmentContainerView의 id**) as NavHostFragment
navController = navHostFragment.navController

 

Version 1.0.0-alpha08에서 처음 제기된 문제인데 3년 5개월 지난 지금까지도 안 고쳐주다니... 고칠 맘이 없는 것 같습니다.

반응형