Создать меню параметров с настраиваемой панелью действий / панелью инструментов

Я уже реализовал пользовательский вид для моей панели действий. Наряду с этим, мне также нужно OptionMenu. Есть ли способ по-прежнему использовать DefaultMenu по умолчанию? Я не хочу разрабатывать все меню и его функциональность самостоятельно.

Кстати, моя деятельность расширяется android.support.v7.app.AppCompatActivity


Код для реализации пользовательского представления для моей панели действий

custom_action_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentInsetEnd="0dp"
app:contentInsetStart="0dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/custom_B"
        android:layout_width="60dp"
        android:layout_height="30dp" />
</LinearLayout>
</android.support.v7.widget.Toolbar>

Я включил его в свой основной XML:

<include
layout="@layout/custom_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

Для OptionsMenu я поставил несколько журналов, которые никогда не печатаются

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Log.i(Constants.APP_NAME, "hello1");
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Log.i(Constants.APP_NAME, "hello2");
}

1 ответ

Решение

Не забудьте позвонить setSupportActionBar() в вашей деятельности.

Без этого вызова связанные методы меню никогда не вызываются, потому что Activity считает, что панели инструментов нет.

Другие вопросы по тегам