2012-04-02 2 views
1

Я добавил панель действий в свое приложение.Вопрос о размещении бара на выезде

По какой-то странной причине на моем Galaxy Nexus в нижней части экрана появляется меню перетока, в то время как в приложениях для загрузки (Карты, Gmail, Google Play, Календарь и т. Д.) В верхней части экран.

Overflow at the bottom

Есть в любом случае, чтобы заставить его появиться в верхней части экрана наряду с названием приложения?

Примечание: верхняя серая панель содержит заголовок моего приложения, но я удалил ее для этого снимка экрана.

+3

Это не собирается быть полезным, но я рекомендую использовать ActionBarSherlock.com вместо бара родной действий для обеспечения совместимости лучше назад с не-ICS-приложений. – Navarr

+0

Спасибо за предложение. Мне еще предстоит рассмотреть обратную совместимость с устройствами, отличными от ICS. – mob1lejunkie

+0

+1 согласен с @Navarr –

ответ

2

Как заявили в комментариях, если вы планируете публиковать свое приложение, вам придется согласиться и использовать АБС, даже если это не идеальное решение (хотя это близко). Но, чтобы ваши более насущные проблемы с ActionBar - попробуйте добавить эти строки в корневое меню в XML:

android:showAsAction="always" 

Убедитесь

uiOptions="splitActionBarWhenNarrow" 

нет нигде в вашем Android Manifest. Вы также можете проверить, есть ли

setDisplayShowHomeEnabled(true/false) and setDisplayShowTitleEnabled(true/false) 

оказывают какое-либо влияние на местоположение вашего меню косвенно.

EDIT ~ Кроме того, используете ли вы что-либо вдоль линий вкладок или других элементов в панели действий, которые просто не отображаются, но на самом деле присутствуют на верхней панели?

EDIT2 ~ Вот мой код опции меню:

public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
    case R.id.demographics: 
     Intent intent = new Intent(); 
     intent.setClass(this, demoPanel.class); 

     startActivity(intent); 
     break; 
    case R.id.settings: 
     // another startActivity, this is for item with id "menu_item2" 
     break; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 

    return true; 
} 
+0

В верхнем баре нет ничего, кроме имени приложения. Обычно я скрываю верхний бар, но я должен отображать его для Action Bar для работы. – mob1lejunkie

+0

@ mob1lejunkie да, я понимаю, вы должны это показать. У меня было подобное в моем приложении, когда оно было на более ранних этапах, но я не помню обстоятельств, которые привели к появлению кнопки меню во втором верхнем ряду, а не в нижней части. Я только что протестировал свое приложение, разделив его, чтобы мой значок меню исчез полностью - поскольку верхний ряд заполнен до краев вкладками. Я отредактирую свой комментарий, чтобы вы могли видеть, как выглядит код меню параметров, может быть, это поможет. – Davek804

+0

Оказывается, у меня как-то было uiOptions = "splitActionBarWhenNarrow", поэтому в нижней части экрана отображалось меню перетока. – mob1lejunkie

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