by Anonymous » 17 Aug 2025, 12:50
Ich habe versucht, die Back -Taste mithilfe der Standard -App -Leiste in meiner Android -App weiß zu werden. Ich habe mir auch in diesem Beitrag eine Reihe von Vorschlägen angesehen und gegen die folgenden Probleme gerannt. Kann die Button -Farbe nicht ändern. Im Grunde genommen wird die Navigation beobachtet und setzt eine benutzerdefinierte Vektor -Button -Taste mit der weißen Farbe, wenn der Benutzer zurückkehren kann. Scheint mir übertrieben. Gibt es einen besseren Weg, dies zu tun?
Code: Select all
@style/CustomActionBar
@color/white
@color/actionBarColor
@style/ActionBarTitleText
56dp
MainActivity.KT
Code: Select all
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host) as NavHostFragment
NavigationUI.setupActionBarWithNavController(this, navHostFragment.navController)
navHostFragment.navController.addOnDestinationChangedListener { _, destination, _ ->
// Only show the custom up indicator if not on the start destination
val isStartDestination = destination.id == navHostFragment.navController.graph.startDestinationId
if (!isStartDestination) {
ContextCompat.getDrawable(this, R.drawable.baseline_arrow_back_24)?.let { upArrow ->
upArrow.setTint(ContextCompat.getColor(this, R.color.white))
supportActionBar?.setHomeAsUpIndicator(upArrow)
}
} else {
// Optionally reset to default or hide
supportActionBar?.setHomeAsUpIndicator(null)
}
}
}
Ich habe versucht, die Back -Taste mithilfe der Standard -App -Leiste in meiner Android -App weiß zu werden. Ich habe mir auch in diesem Beitrag eine Reihe von Vorschlägen angesehen und gegen die folgenden Probleme gerannt. Kann die Button -Farbe nicht ändern. Im Grunde genommen wird die Navigation beobachtet und setzt eine benutzerdefinierte Vektor -Button -Taste mit der weißen Farbe, wenn der Benutzer zurückkehren kann. Scheint mir übertrieben. Gibt es einen besseren Weg, dies zu tun?[code]
@style/CustomActionBar
@color/white
@color/actionBarColor
@style/ActionBarTitleText
56dp
[/code]
[b] MainActivity.KT[/b]
[code] override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host) as NavHostFragment
NavigationUI.setupActionBarWithNavController(this, navHostFragment.navController)
navHostFragment.navController.addOnDestinationChangedListener { _, destination, _ ->
// Only show the custom up indicator if not on the start destination
val isStartDestination = destination.id == navHostFragment.navController.graph.startDestinationId
if (!isStartDestination) {
ContextCompat.getDrawable(this, R.drawable.baseline_arrow_back_24)?.let { upArrow ->
upArrow.setTint(ContextCompat.getColor(this, R.color.white))
supportActionBar?.setHomeAsUpIndicator(upArrow)
}
} else {
// Optionally reset to default or hide
supportActionBar?.setHomeAsUpIndicator(null)
}
}
}
[/code]