簡體   English   中英

Android jetpack 導航自定義后退按鈕在背面重疊后退箭頭

[英]Android jetpack navigation custom back button overlapping back arrow on back

android jetpack 導航與工具欄和抽屜結合使用是根目標有一個漢堡菜單圖標(用於切換抽屜),並且在子片段中有一個后退按鈕。

在后退箭頭上打開/關閉子片段時也存在動畫。

現在的問題是:在我的一個子片段中,我設置了一個自定義導航后退按鈕

toolbar_main.setNavigationIcon(R.drawable.ic_clear)

這也有效,但在關閉時會出現“故障”

  1. 自定義圖標消失
  2. 后退箭頭在短時間內可見(這是“故障”
  3. 孩子關閉,根片段(帶有漢堡圖標)再次可見

題:

這個“小故障”是一個錯誤還是我必須調用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM