Как создать более одной панели действий, как в приложении Gmail на Android

На Android Ice Cream Sandwich приложение GMail имеет в представлении цепочки заголовки электронной почты с макетом, похожим на панель действий. Как видно на скриншотах, в портретном режиме в заголовке всего 2 значка, а остальные действия скрыты в дополнительном меню. В ландшафтном режиме видны все действия. «Панель реальных действий» находится вверху. Как вы можете создавать такие дополнительные бары?

портретный режимландшафтный режим


person Michael Greifeneder    schedule 04.01.2012    source источник


Ответы (2)


Это часть приложения, а не системы. Эта функциональность не предоставляется SDK, но вы можете взять исходный код системной панели действий и использовать ее в качестве модели/вдохновения для интеграции в свое приложение. В конечном счете, это просто макет с некоторыми значками/кнопками, на которые вы нажимаете. Если вы предоставите разные макеты для портретного и ландшафтного режимов, вы можете добиться чего-то похожего.

person Nikolay Elenkov    schedule 04.01.2012
comment
Панель действий — это больше, чем просто макет. Он имеет логику для отображения столько значков действий, сколько доступно места, предоставляет меню переполнения... - person Michael Greifeneder; 04.01.2012
comment
Хорошо, это довольно умный макет. Если вам нужна точно такая же функциональность, возможно, вам придется проделать больше работы. Вопрос в том, действительно ли вы? - person Nikolay Elenkov; 04.01.2012
comment
Интересно, пойдет ли Google по пути Microsoft. Предоставление лучших приложений за счет использования собственных виджетов/API, к которым другие стороны не имеют доступа. Справедливости ради они должны переносить улучшения в платформу, а не секретничать в собственных продуктах. Они не могут скрыть API из-за открытости Android, но у них есть преимущество в знаниях. Google является поставщиком платформы. Но, возможно, просто не успели перенести кастомную панель действий в SDK. - person Michael Greifeneder; 04.01.2012

Прошло много времени, но если вы все еще ищете ответ, я считаю, что это делается через SplitActionBar.

Чтобы включить разделенную панель действий, просто добавьте uiOptions="splitActionBarWhenNarrow" к элементу манифеста <activity> или <application>.

вы можете найти информацию, представленную в документации Android http://developer.android.com/guide/topics/ui/actionbar.html

person Prashant Gami    schedule 07.12.2012
comment
Я просил синюю полосу, которая находится поверх каждого сообщения. Вы правы, что серую полосу внизу можно добавить через splitActionBarWhenNarrow, но это не тот пункт, о котором я просил. - person Michael Greifeneder; 07.12.2012