2014-01-14 2 views
0

Мое устройство работает на android: 4.1.2 и имеет кнопку меню физического оборудования.Меню переполнения ActionBar с тремя точками не отображается

Я добавляю 5 пунктов в меню, когда я устанавливаю ShowAsAction = "никогда", меню параметров отображается при нажатии кнопки физического меню аппаратного обеспечения. Есть ли способ показать их на панели действий с меню переполнения (я имею в виду три точки, которые можно увидеть для устройств, которые не имеют кнопки физического аппаратного меню) для устройств, которые имеют физическое меню аппаратного меню

+0

http://stackoverflow.com/a/20445592/1937802 –

+0

@Tamilselvan Работает. Спасибо за быстрый ответ. –

+0

ну, я дал его как ans –

ответ

0

согласно CommonsWare описано here

try { 
    ViewConfiguration config = ViewConfiguration.get(this); 
    Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); 

    if (menuKeyField != null) { 
    menuKeyField.setAccessible(true); 
    menuKeyField.setBoolean(config, false); 
    } 
} 
catch (Exception e) { 
    // presumably, not relevant 
} 

это не должно быть необходимо на Android 4.4 и выше, хотя и с обработчиком исключений в месте, я бы не ожидал каких-либо проблем, если вы запустите его и, когда-нибудь, они избавиться от sHasPermanentMenuKey прямой.

Лично я все еще не изменил ситуацию на Android 4.3 и ниже, так как я подозреваю, что это ситуация с ударом-молью, где вы замените жалобы на отсутствие меню с жалобами на дублирование версий того же меню , Тем не менее, поскольку это уже официально одобренное поведение в будущем, у меня нет проблем с разработчиками, стремящимися к согласованности с более старыми устройствами.

Кончик шляпы до the commenter on the issue I filed относительно этого, указывая изменение.

Смежные вопросы