Пункты меню в меню параметров не отображаются в виде значков независимо от приложения: showAsAction = "ifRoom" - PullRequest
0 голосов
/ 12 сентября 2018

Мое меню выглядит следующим образом:

<?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 на «всегда» мне никак не помог ...

...