【发布时间】:2019-01-15 14:15:15
【问题描述】:
我正在尝试(没有成功)在使用NavHostFragment 时更改工具栏上的后退箭头图标。我正在使用带有工具栏的NavController(如您在此处看到的)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
val navController = findNavController(R.id.nav_host_fragment)
appBarConfiguration = AppBarConfiguration(navController.graph)
setupActionBarWithNavController(navController, appBarConfiguration)
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
toolbar.setTitleTextColor(resources.getColor(R.color.toolbarTextColor))
navigation.setupWithNavController(Navigation.findNavController(this, R.id.nav_host_fragment))
}
导航正常,但我似乎无法更改后退图标。
我已经尝试过使用自定义主题。到目前为止,所有定义的属性都不起作用。
<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<item name="android:navigationIcon">@drawable/ic_keyboard_arrow_left_black_24dp</item>
<item name="android:homeAsUpIndicator">@drawable/ic_keyboard_arrow_left_black_24dp</item>
<item name="collapseIcon">@drawable/ic_keyboard_arrow_left_black_24dp</item>
<item name="android:closeIcon">@drawable/ic_keyboard_arrow_left_black_24dp</item>
</style>
尝试使用代码:
toolbar.navigationIcon = resources.getDrawable(R.drawable.ic_keyboard_arrow_left_black_24dp)
toolbar.setNavigationIcon(R.drawable.ic_keyboard_arrow_left_black_24dp)
toolbar.navigationIconResource = R.drawable.ic_keyboard_arrow_left_black_24dp
使用代码时,一旦创建布局,后退按钮就会出现,但是当我输入另一个片段时,图标会变回默认的后退图标。
如何更改?
【问题讨论】:
标签: android kotlin android-toolbar android-architecture-navigation