簡體   English   中英

如何使用導航組件隱藏圖標並僅在工具欄中顯示后退按鈕?

[英]How to hide the icons and only show the back button in the toolbar using navigation component?

我有一個包含多個片段的活動應用程序,通過使用導航組件,我可以在它們之間導航。 在我的活動中,我有一個帶有菜單和導航 controller 的工具欄。 工具欄圖標顯示在我的應用程序的每個片段中,並且在其中一個片段中,我只想顯示后退按鈕,而不顯示圖標的 rest。 我怎么可能這樣做?

提前致謝..

您可以使用 java 或 kotlin 我都了解

我的主要活動

 private lateinit var navController : NavController

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val navHostFragment = supportFragmentManager.findFragmentById(R.id.fragmentContainerView) as NavHostFragment
     navController = navHostFragment.navController
    val bottomNavigationView = findViewById<BottomNavigationView>(R.id.bottom_nav)
    bottomNavigationView.setupWithNavController(navController)


    val my_toolbar = findViewById<Toolbar>(R.id.myToolBar)
    setSupportActionBar(my_toolbar)
    setupActionBarWithNavController(navController)
}
 override fun onSupportNavigateUp(): Boolean {
    return navController.navigateUp() || super.onSupportNavigateUp()
}

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    menuInflater.inflate(R.menu.menu2, menu)
    return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when (item.itemId){
        R.id.filter_list -> Toast.makeText(this, "Filter Was Clicked", Toast.LENGTH_SHORT).show()

        R.id.female_filtering -> Toast.makeText(this, "Female Filter", Toast.LENGTH_SHORT).show()

        R.id.male_filtering -> Toast.makeText(this, "male Filter", Toast.LENGTH_SHORT).show()
    }
    val navController = findNavController(R.id.fragmentContainerView)
    return item.onNavDestinationSelected(navController) || super.onOptionsItemSelected(item)
}

我的菜單

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">


<item
    android:id="@+id/favouriteFragment"
    android:title="المفضلة"
    android:icon="@drawable/ic_favorite"
    android:menuCategory="secondary"
    app:showAsAction="always"/>
<item
    android:id="@+id/contactUsFragment"
    android:title="للتواصل"
    android:icon="@drawable/ic_contact"
    android:menuCategory="secondary"
    app:showAsAction="always"/>
<item
    android:id="@+id/filter_list"
    android:title="فلترة"
    android:icon="@drawable/ic_filter"
    android:menuCategory="container"
    app:showAsAction="always">

    <menu>
        <item android:id="@+id/female_filtering"
            android:title="وظائف نسائية"
            app:showAsAction="never"/>
        <item android:id="@+id/male_filtering"
            android:title="وظائف للرجال"
            app:showAsAction="never"/>
    </menu>
</item>

-- 我的片段上沒有關於工具欄的任何代碼

我的主要片段

在此處輸入圖像描述

我只想在這個片段中顯示后退按鈕

在此處輸入圖像描述

請參考https://stackoverflow.com/a/70527808/15529296這個鏈接。 這可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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