Задать вопрос

Как открыть Navigation Drawer свайпом с середины экрана?

Использую стандартный Navigation Drawer в андроид приложении.
Есть ли у него возможность открываться свайпом с середины экрана а не от края.
Например как приложение вконтакте сделано.

Рисунок для наглядности:
4e6b158564394b26a1dd3235b26f0974.jpg
  • Вопрос задан
  • 3396 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
anyd3v
@anyd3v
В вк можно было так делать когда они не использовали Navigation Drawer а использовали самопальную слайд панель. На сколько я знаю такого фунционала в самом Navigation Drawer нет. По опыту могу сказать что так делать не стоит и в дальнейшем только огребете.

Но если сильно хочется то
1. Делайте на контенте определение жестов и движение пальцев (onTouch и SimpleGustureListener)
2. используйте самопальные решения типа https://github.com/jfeinstein10/SlidingMenu
Ответ написан
Комментировать
aratj
@aratj
программер.
да, там жестко в самих классах прописана дистанция.

можно , по идее через рефлекции сделать,

SO
напимер, такое решение дает

DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
Field mDragger = mDrawerLayout.getClass().getDeclaredField(
        "mLeftDragger");//mRightDragger for right obviously
mDragger.setAccessible(true);
ViewDragHelper draggerObj = (ViewDragHelper) mDragger
        .get(mDrawerLayout);

Field mEdgeSize = draggerObj.getClass().getDeclaredField(
        "mEdgeSize");
mEdgeSize.setAccessible(true);
int edge = mEdgeSize.getInt(draggerObj);

mEdgeSize.setInt(draggerObj, edge * 5); // вот тут меняем размер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы