У меня в приложении PopupMenu
с 3 основными предметами, 2 из которых имеют несколько подпунктов. Все работает нормально, но для устройства с android 6 - «расширяемый значок» не отображается: под «расширяемым значком» я подразумеваю эти две иконки | (скриншот из эмулятора с android 10):
На устройстве с android 6 такое же меню выглядит следующим образом:
Код раскладки меню:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_file"
android:showAsAction="never"
android:title="@string/menu_file">
<menu>
<item android:id="@+id/menu_login"
android:title="@string/menu_login"/>
<item android:id="@+id/menu_exit"
android:title="@string/menu_exit"/>
</menu>
</item>
<item android:id="@+id/menu_actions"
android:showAsAction="never"
android:title="@string/menu_actions">
<menu>
<item android:id="@+id/menu_f1"
android:title="@string/menu_f1"/>
<item android:id="@+id/menu_equipment"
android:title="@string/menu_equipment"/>
<item android:id="@+id/menu_repair"
android:title="@string/menu_repair"/>
</menu>
</item>
<item android:id="@+id/menu_info"
android:showAsAction="never"
android:title="@string/menu_info"/>
</menu>
Код, связанный с меню мероприятия с этим меню:
public void showPopup(View v){
PopupMenu popup = new PopupMenu(this, v);
popup.setOnMenuItemClickListener(this);
popup.inflate(R.menu.pda_menu);
popup.show();
}
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(this, "Selected Item: " +item.getTitle(), Toast.LENGTH_SHORT).show();
switch (item.getItemId()) {
case R.id.menu_file:
return true;
case R.id.menu_actions:
return true;
case R.id.menu_info:
return true;
default:
return super.onOptionsItemSelected(item);
}
}