В моем приложении есть меню опций, которое содержит более шести пунктов, поэтому есть пункт «Дополнительно», который вызывает меню переполнения. Меню публикуется с помощью триггеров меню по умолчанию и пользовательского триггера, который вызывает Activity.openOptionsMenu ().
Само меню построено из этого файла ресурсов:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/mi_copy"
android:title="Copy"
android:icon="@drawable/copy"/>
<item android:id="@+id/mi_paste"
android:title="Paste"
android:icon="@drawable/paste"/>
<item android:id="@+id/mi_preferences"
android:title="Preferences"
android:icon="@android:drawable/ic_menu_preferences"/>
<item android:id="@+id/mi_flip_calc_printout"
android:title="Print-Out"
android:icon="@drawable/printer"/>
<item android:id="@+id/mi_clear_printout"
android:title="Clear Print-Out"
android:icon="@android:drawable/ic_menu_close_clear_cancel"/>
<item android:id="@+id/mi_about"
android:title="About Free42"/>
<item android:id="@+id/mi_import"
android:title="Import Programs"/>
<item android:id="@+id/mi_export"
android:title="Export Programs"/>
</menu>
Пока все хорошо. Меню и логика Java, которые создают и публикуют его, работали годами, но теперь я меняю targetSdkVersion с уровня API 8 на 26, в соответствии с последними требованиями Play, и теперь внезапно пункты меню в переполнении меню стало невидимым.
Меню переполнения все еще отправляет сообщения, и оно все еще имеет правильный размер, и пункты меню все еще работают. Вы просто больше их не видите: все меню теперь полностью черное, что является нормальным цветом фона; отсутствует текст пункта меню.
Телефон, на котором я тестирую, - это Motorola G5 под управлением Android 8.1.0. Это единственное устройство, которое у меня есть на данный момент для тестирования с API 26, по крайней мере, пока я не выясню, как создать AVD с API> = 26.
N.B. В симуляторе Android с изображением уровня API 8 меню переполнения по-прежнему выглядит нормально. Раньше он хорошо смотрелся и на Moto G5, прежде чем я нацелился на API 26. Если я верну цель на 8, меню переполнения снова будет работать.
Есть мысли о том, что я мог бы сделать, чтобы это исправить? Мои навыки Google не работают над этим ... Любые идеи будут приветствоваться!