Проблема расположения панели действий - PullRequest
1 голос
/ 02 апреля 2012

Я добавил панель действий в свое приложение.

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

Overflow at the bottom

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

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

1 Ответ

2 голосов
/ 02 апреля 2012

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

android:showAsAction="always"

Убедитесь, что

uiOptions="splitActionBarWhenNarrow"

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

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

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

РЕДАКТИРОВАТЬ ~ Кроме того, используете ли вы что-либо вдоль линий вкладок или других элементов на панели действий, которые просто не отображаются, но фактически присутствуют на верхней панели?

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;
}
...