Создать меню параметров с настраиваемой панелью действий / панелью инструментов
Я уже реализовал пользовательский вид для моей панели действий. Наряду с этим, мне также нужно 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 считает, что панели инструментов нет.