最佳答案
如果您使用的是 Toolbar
至更改图标只需使用:
Toolbar toolbar = findViewById(R.id.xxx);
toolbar.setNavigationIcon(R.drawable.xxxx4);
setSupportActionBar(toolbar);
如果您使用 ActionBar
您可以使用:getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.xxx);
您也可以在您的应用主题中将其更改为覆盖 homeAsUpIndicator
属性: <style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<item name="homeAsUpIndicator">@drawable/...</item>
</style>
如果您使用 导航组件 ,目前没有自定义 HomeAsUpIndicator 图标的方法,当您在非 root 目的地时显示向上按钮是一种预期行为。有一个解决方法,添加
addOnDestinationChangedListener
在您的设置方法和检查目的地之后。就像是:
navController.addOnDestinationChangedListener(
new NavController.OnDestinationChangedListener() {
@Override
public void onDestinationChanged(@NonNull NavController controller, @NonNull NavDestination destination, @Nullable Bundle arguments) {
if (destination.getId() == R.id.nav_xxx) {
//With ActionBar
//getSupportActionBar().setHomeAsUpIndicator(R.drawable.xxxx);
//With a Toolbar
toolbar.setNavigationIcon(R.drawable.xxxx);
}
}
});
关于android - 如何在android Material 组件中更改工具栏后退按钮图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62018283/