Мое меню выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/settings"
android:icon="@drawable/ic_tune"
android:title="@string/menu_title_settings"
app:showAsAction="ifRoom" />
<item
android:id="@+id/add"
android:icon="@drawable/ic_plus"
android:title="@string/menu_title_add"
app:showAsAction="ifRoom" />
</menu>
И я обрабатываю меню внутри действия таким образом:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_categories)
setupToolbar()
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
MenuInflater(this).inflate(R.menu.categories_menu, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.settings -> {
Toast.makeText(this, "Settings", Toast.LENGTH_SHORT).show()
false
}
R.id.add -> {
Toast.makeText(this, "Add", Toast.LENGTH_SHORT).show()
false
}
else -> super.onContextItemSelected(item)
}
}
private fun setupToolbar() {
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.title = "title"
supportActionBar?.subtitle = "subtitle"
}
В конце концов, мое меню завышено, но пункты меню не отображаютсякак действия (значки), вместо этого они скрыты в меню переполнения.Удаление заголовка и субтитров с панели инструментов, чтобы освободить место и изменение приложения: showAsAction на «всегда» мне никак не помог ...