Отключить анимацию слайдов значка NavigationDrawer

Есть ли способ отключить скользящую анимацию значка NavigationDrawer? Я имею в виду эффект, когда вы щелкаете по значку или открываете Drawer жестом слайдера. (Я все еще использую ActionBar в данный момент)

Предварительный просмотр

Предварительный просмотр


person marson    schedule 30.03.2015    source источник
comment
почему вы используете панель навигации старого стиля, а не новый стиль   -  person tyczj    schedule 30.03.2015
comment
Что вы подразумеваете под новым стилем?   -  person marson    schedule 30.03.2015
comment
см. здесь google.com/design/spec/patterns/navigation-drawer. html   -  person tyczj    schedule 30.03.2015
comment
Значок гамбургера @marson.   -  person Raghunandan    schedule 30.03.2015
comment
Спасибо за вашу рекомендацию. Я планирую начать с дизайна материалов сразу после завершения моего текущего проекта.   -  person marson    schedule 30.03.2015
comment
@marson причина, по которой я говорю это, заключается в том, что новый стиль распространяется на значок, поэтому вам даже не нужно об этом беспокоиться.   -  person tyczj    schedule 30.03.2015


Ответы (2)


Вам нужно переопределить метод onDrawerSlide метода ActionBarDrawerToggle и установить для slideOffset значение 0, если ящик правый. Таким образом, это отключит анимацию изображения навигационного ящика.

  @Override
  public void onDrawerSlide(View drawerView, float slideOffset) 
  {
        if(drawerView!=null && drawerView == rightDrawerListView){
              super.onDrawerSlide(drawerView, 0);
        }else{
              super.onDrawerSlide(drawerView, slideOffset);
        }
  }
person Apurva    schedule 30.03.2015
comment
Работает, но я удалил часть drawerView == rightDrawerListView оператора if-else. Что вы подразумеваете под rightDrawerListView? - person marson; 30.03.2015
comment
На самом деле я написал код из своего проекта, я вытягиваю ящик навигации с правой стороны. drawerView == rightDrawerListView используется для отключения анимации, если она тянется с правой стороны. Отметьте это, если вы хотите, чтобы ящик навигации находился справа сторона. - person Apurva; 30.03.2015

Посмотрите на этот ответ. Поскольку поддержка v7 версии 25.3.0, вы можете отключить анимацию, вы можете отключить анимацию с помощью одной строки кода.

yourActionBarDrawerToggle.setDrawerSlideAnimationEnabled(false);

person Ramiz Raja    schedule 08.07.2018