Наследование и расширение ресурсов XML (меню)

Можно ли наследовать и расширять XML-ресурсы в android легко, особенно для меню.

Например. если мой base_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/item_manual_input"
        android:title="@string/manual_input/">

    <item android:id="@+id/item_logoff"
        android:title="@string/logoff"/>

</menu>

Оба варианта, которые я хотел бы использовать в другом месте (в другом действии). вместо того, чтобы повторять теги для элементов в base_menu, я очень хотел бы сделать что-то подобное для inherit_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <menu android:id="@id/base_menu"/>

    <item android:id="@+id/extra_option"
        android:title="@string/extra_option/>

</menu>

но я не вижу ничего подобного в любой документации. Поддерживается ли что-либо подобное, или я придерживаюсь использования фрагментов для ограничения кода и репликации XML для различных ресурсов XML? (Я считаю, что это сработает, но я еще не использовал фрагменты)

Ответы

Ответ 1

Невозможно для меню, но возможно для макетов.
См. Тег include: https://developer.android.com/training/improving-layouts/reusing-layouts.html

Для меню:
Вы можете работать в коде, раздувая меню xml файлов и добавляя отдельные пункты меню:

@Override public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.base, menu); // All menus in base.xml
    getMenuInflater().inflate(R.menu.extras, menu); // base.xml + extras.xml
    menu.add("More"); // base.xml + extras.xml + "More"
    return true;
}