Слайд в стиле Android для Facebook - PullRequest
281 голосов
/ 28 декабря 2011

Новое приложение Facebook и его навигация так круты.Я просто пытался увидеть, как это может быть воспроизведено в моем приложении.

Кто-нибудь знает, как этого достичь?

enter image description here

При нажатии на верхнюю левую кнопку открывается слайд страницы и отображается следующий экран:

enter image description here

YouTube Video

Ответы [ 25 ]

1 голос
/ 28 марта 2012

Возможно, приложение Android для Facebook состоит из Фрагментов .Меню - это один фрагмент, а углубленное действие (лента новостей / события / друзья и т. Д.) - это другой фрагмент.В основном макет планшета «мастер и детализация» на телефоне.

1 голос
/ 31 марта 2012

Для информации, поскольку библиотека совместимости начинается с версии 1.6, а это приложение facebook также работает на устройствах с Android 1.5, это не может быть сделано с фрагментами.

То, как вы могли бы это сделать, это: Создайте «базовое» действие BaseMenuActivity, в которое вы поместите всю логику для onItemClickListener для списка меню и определите 2 анимации («открыть» и «закрыть»). В конце / начале анимации вы показываете / скрываете макет BaseMenuActivity (давайте назовем его menu_layout). Макет для этого действия прост, это только список с элементами + прозрачная часть справа от вашего списка. Эта часть будет кликабельной, и ее ширина будет равна ширине вашей кнопки перемещения. С этим вы сможете нажать на этот макет, чтобы запустить анимацию, чтобы content_layout скользил влево и занимал весь экран. Для каждого параметра (т. Е. Элемента списка меню) вы создаете «ContentActivity», которое расширяет BaseMenuActivity. Затем, когда вы нажимаете на элемент списка, вы запускаете свою ItemSelectedContentActivity с видимым меню (которое вы закроете, как только начнется ваша активность). Макеты для каждого ContentActivity являются FrameLayout и включают в себя и. Вам просто нужно переместить content_layout и сделать menu_layout видимым, когда вы хотите.

Это способ сделать это, и я надеюсь, что я достаточно ясно.

1 голос
/ 03 июля 2012

Я играл с этим последние несколько дней, и я придумал решение, которое в конечном итоге довольно простое и работает до соты.Мое решение состояло в том, чтобы анимировать вид, который я хочу скользить (FrameLayout для меня), и прослушать конец анимации (в какой момент сместить позицию вида влево / вправо).Я вставил свое решение здесь: Как анимировать перевод View

1 голос
/ 13 февраля 2013

Я не видел удивительного SimonVT / android-menudrawer, упомянутого в ответах выше.Итак, вот ссылка

https://github.com/SimonVT/android-menudrawer

Его очень легко использовать, и вы можете разместить его слева, справа, сверху или снизу.Очень хорошо документировано с примером кода и лицензией Apache 2.0.

0 голосов
/ 26 октября 2012

В июне 2012 года, Google добавил «шаблоны» в плагин Eclipse ADT , и есть шаблон под названием «основной / подробный поток», который делает именно это (на основе фрагментов)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...