Я действительно хочу реализовать это (боковую навигацию) в моем собственном приложении, кто-нибудь знает, как Google это удалось?
Кажется, они отодвинули текущее окно в сторону и добавили собственную навигацию.
Я действительно хочу реализовать это (боковую навигацию) в моем собственном приложении, кто-нибудь знает, как Google это удалось?
Кажется, они отодвинули текущее окно в сторону и добавили собственную навигацию.
Ответы:
Фактически, способ сделать это. Даже без реализации собственного
ActionBar
.Просто взгляните на
hierachyviewer
! (Находится в каталоге инструментов)Там то
DecorView
, и котLinearLayout
в детстве. ОнLinearLayout
содержит как тот, такActionBar
и другой контент. Итак, вы можете просто применитьFrameLayout.LayoutParams
к немуLinearLayout
немного места и таким образом освободить место с левой стороны. Затем вы можете заполнить это пространство своим меню-ListView и наложить другой контент с помощью FrameLayout, который при щелчке по нему сворачивает меню. Итак, вот код:Во-первых, класс для сворачивания / разворачивания (SlideMenu.java):
Некоторые вспомогательные методы (для меня в static Functions.java):
Затем макеты:
Макет меню (res / layout / menu.xml)
Расположение элементов списка (res / layout / menu_listitem.xml):
Как это использовать:
В вашем
onCreate()
:В обработчике домашней кнопки ActionBar:
Это оно!
А теперь небольшой снимок экрана в действии:
Насколько я знаю, работает. Если у вас возникнут проблемы или мои объяснения непонятны, свяжитесь со мной!
РЕДАКТИРОВАТЬ:
ExtendedViewPager
&ExtendedPagerStrip
:ExtendedViewPager:
ExtendedPagerTabStrip:
Я использую это
SlideMenu
для деятельности сViewPager
сPagerTabStrip
вкладками , как Talk, рынок и т.д. Вы не можете отключить эти взгляды в легком пути, так что эти два класса выше только продлить их , чтобы остановитьonTouch
событие , когда отключены.источник
Есть несколько попыток сделать это, однако мне еще предстоит найти библиотеку или исходный код о том, как успешно реализовать это с помощью панели действий на всех уровнях api. Одна многообещающая библиотека здесь
https://github.com/jfeinstein10/SlidingMenu
вот видео примера приложения .
вот ссылка на приложение Google Play .
Это работает с ActionbarSherlock. Вам нужно будет собрать библиотеку SlidingMenu с ABS, чтобы она заработала. Работает и отлично смотрится!
источник
Сделал обзор исходной реализации и добавил синтаксический анализ XML, а также
autodetection
возможного присутствияactionbar
, поэтому он работает как с родной, так и с панелью действий поддержки, такой какActionBarSherlock
.Теперь все это представляет собой проект библиотеки вместе с примером приложения и описан в Sliding Menu для Android. Спасибо scirocco за первоначальную идею и код!
источник
Если вы используете уровень API выше 11, вы можете использовать гораздо более простой подход, основанный на ответе @Scirocco.
Идея заключается в том, чтобы использовать
ValueAnimator
это преобразование, а не просто анимацию основного макета с помощью панели действий, чтобы вы могли взаимодействовать с расширенным представлением, которое хотите использовать в качестве скользящей панели. Вы должны заменить жестко запрограммированные значения чем-то, что будет полезно для вашего приложения.Надеюсь, это поможет :)
источник
Ну, в настоящее время я работаю над проектом и наткнулся на скользящее меню, я погуглил, но очень разочаровался, увидев, что никто не дал какой-то фрагмент кода или намек, как начать создавать скользящее меню, но каждый дал ссылку на некоторые проекты / библиотеки github, я решил сделать это сам и, наконец, у меня есть собственное готовое скользящее меню ...
Я потратил на это два дня
1. о создании анимации скольжения
2. на то, чтобы он работал со всеми разрешениями экрана
Это действительно легко и просто, как только вы получите некоторое представление об анимации , я кое-где читал, не имеет смысла изобретать колесо (люди, которые ссылаются на исходный код github скользящего меню), но я считаю, что вы должны хотя бы один раз попробуйте сделать свой собственный, чтобы понять, как он на самом деле работает и функционирует: P
Итак, это картина того, как будет работать мое скользящее меню
1.Find.xml
//later in the code it will be refer as findLayout
2.Filter.xml
//later in code refer as FilterLayout
В find.xml я изначально включил filter.xml, который невидим
Теперь FilterAnimation.java
Теперь Find.java
Вот анимации res / anim
1.filter_slide_in.xml
2.filter_slide_out.xml
3.other_slide_in.xml
4.other_slide_out.xml
Вот и полное рабочее и функциональное скользящее меню, и вы можете настроить его в соответствии со своими требованиями, если у кого-то все еще есть проблемы с настройкой, не стесняйтесь спрашивать, я с удовольствием помогу вам :)
источник
Я создал свое собственное решение для сдвига представления и открытия меню внизу, так как многие другие решения не работали в более старых версиях Android или не имели надлежащих инструкций о том, как заставить его работать.
Мое решение имеет следующие особенности:
В решении используется настраиваемый макет, называемый SlidingMenuLayout, в который вы должны добавить 2 представления. Первое добавленное вами представление - это меню, второе - главное представление.
Самый простой способ добавить макет в существующий проект - переопределить
setContentView()
метод Activity :В этом примере
MenuView
это представление, которое фактически отображает меню. Реализовать это представление зависит от вас.Наконец, вы можете добавить кнопку (обычно в верхнем левом углу основного представления), которая вызывает
openMenu()
илиcloseMenu()
в макете, в зависимости от ситуации.Код для
SlidingMenuLayout
находится на странице проекта GitHub .источник
Для тех из вас, кто использует библиотеку SlidingMenu ( https://github.com/jfeinstein10/SlidingMenu ), есть способ подключить ее, и, похоже, это работает! С помощью @Scirocco поместите это в свое
onCreate
действие:в основном то, что он делает, заменяет вид
linearlayout
in decor наslidingmenu
вместо этого.Примечание: я проверил его только слегка, но, похоже, он работает.
источник
это мой класс расширяется
SlidingPaneLayout
. Может скользить с помощью actioисточник