[英]Android jetpack navigation custom back button overlapping back arrow on back
將android jetpack 導航與工具欄和抽屜結合使用是根目標有一個漢堡菜單圖標(用於切換抽屜),並且在子片段中有一個后退按鈕。
在后退箭頭上打開/關閉子片段時也存在動畫。
現在的問題是:在我的一個子片段中,我設置了一個自定義導航后退按鈕
toolbar_main.setNavigationIcon(R.drawable.ic_clear)
這也有效,但在關閉時會出現“故障”
題:
這個“小故障”是一個錯誤還是我必須調用setNavigationIcon以外的東西(比如 ActionBarDrawerToggle 或類似的)?
解決方案:在每個 Fragment
override fun onAttach(context: Context) {
super.onAttach(context)
val activity = context as BaseActivity
if (navController.backStack.size > 3) {
activity.toolbar.setNavigationIcon(getNavigationIcon())
}
}
超過 3 個,因為:
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/navigation"
app:startDestination="@+id/startFragment"> <----- always +1
<fragment
android:id="@+id/startFragment"> <----- startFragment + 1 = 2
<fragment
android:id="@+id/fragment_1"> <----- startFragment + 1 = 3
<fragment
android:id="@+id/fragment_2"> <----- startFragment + 1 = 3
</navigation>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.