Как добавить кнопку плюс в область заголовка приложения Android?

Как добавить кнопку плюс в область как на картинке?

Главная особенность в том, что кнопка должна находиться там, где находится название приложения, в зелёной области.

Если можно, то желательно на kotlin.


Ответы (1 шт):

Автор решения: Анастасия

Привожу код на обоих языках, так как не уверена на 100% в своих познаниях Kotlin. Надеюсь, это окажется полезным.

В папке res/menu необходимо создать файл разметки меню, например mainmenu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_plus"
        android:icon="@drawable/yourplusdrawable"
        android:showAsAction="always"/> 
</menu>

А в классе Вашей Activity нужно добавить метод (если его ещё нет), в котором прописать добавление этого меню на панель.

Java:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);
    return true;
}

Kotlin:

fun onCreateOptionsMenu(menu:Menu):Boolean {
  val inflater = getMenuInflater()
  inflater.inflate(R.menu.mainmenu, menu)
  return true
}

Чтобы обрабатывать нажатия на элемент меню, добавьте метод:

Java:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    if (id == R.id.action_plus) {
       // тут что-то делать
    }
    return super.onOptionsItemSelected(item);
}

Kotlin:

fun onOptionsItemSelected(item:MenuItem):Boolean {
  val id = item.getItemId()
  if (id == R.id.action_plus)
  {
    // тут что-то делать
  }
  return super.onOptionsItemSelected(item)
}
→ Ссылка