Отображение нескольких действий на одном экране? - PullRequest
0 голосов
/ 30 сентября 2010

У меня интересная проблема, и я искал решение;Надеясь, что кто-то здесь может помочь мне.

(я прочитал похожие вопросы по этой теме, но у них есть решения, которые не имеют отношения к моей ситуации).

Подробности:

У меня есть два занятия.Одним из них является простой вид списка, чтобы перечислить доступные звуковые дорожки.Другой - это сложная звуковая панель инструментов с элементами управления для воспроизведения / паузы, ffd и перемотки воспроизводимого в данный момент аудио.

На панели инструментов аудио используется класс-оболочка, обертывающий объект Android MediaPlayer, и этот класс-обертка представляет собой объект-одиночка.Это означает, что я в конечном итоге захочу использовать панель инструментов аудио в любом месте моего приложения и управлять единичным экземпляром моей оболочки MediaPlayer.

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

Теперь, поскольку пользователь будет открывать панель инструментов из любого места в приложенииМне бы хотелось узнать, как объединить текущую активность и активность панели инструментов в один экран.

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

Каждый знает, как это сделать.этот?Я ничего такого не встречал в документах, но если кто-то знает, даже указание на правильные документы было бы чрезвычайно полезно:)

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Еще одна сложная звуковая панель инструментов с элементами управления для воспроизведения / паузы, ffd и перемотки текущего воспроизводимого звука.

Панель инструментов не должна быть активностью. Это должен быть виджет.

По этой причине у меня не может быть аудио панели инструментов и просмотра аудио списка в одном действии

Конечно, вы можете сделать это виджетом.

Теперь, поскольку пользователь будет открывать панель инструментов из любой точки приложения, мне бы хотелось узнать, как объединить текущую активность и активность панели инструментов в один экран.

Шаг # 1: преобразовать «активность панели инструментов» в виджет

Шаг # 2: Поместите виджет в макет для вашей деятельности

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

Шаг # 1: преобразовать «активность на панели инструментов» в виджет.

Шаг # 2: Поместите виджет в макет для вашей деятельности, особенно в RelativeLayout, с панелью инструментов, прикрепленной к нижней части RelativeLayout, изначально с видимостью GONE.

Шаг # 3: Используйте TranslateAnimation для отображения и скрытия виджета по мере необходимости, в зависимости от того, какой триггер вы собираетесь использовать.

Смотрите пример приложения , демонстрирующий эту технику.

1 голос
/ 30 сентября 2010

Вы хотите реализовать ActivityGroup.Чтобы встроить «Действия», вы должны использовать LocalActivityManager для запуска каждого действия, а также захватить представление «Действия» и внедрить его в макет / контейнер, который отображает группа действий.

...