2016-10-10 1 views
0

Я использую Drawerlayout, который может быть открыт и закрыт с обеих сторон (слева и справа), как это:DrawerLayout.DrawerListener - Обнаружение тяжести вправо/влево

drawer.openDrawer(Gravity.LEFT); 
drawer.openDrawer(Gravity.RIGHT); 

Я добавил DrawerListener, чтобы определить, когда это

drawer.addDrawerListener(new DrawerLayout.DrawerListener() { 
     @Override 
     public void onDrawerSlide(View drawerView, float slideOffset) { 

     } 

     @Override 
     public void onDrawerOpened(View drawerView) { 

     } 

     @Override 
     public void onDrawerClosed(View drawerView) { 

      Toast.makeText(activity, "closed", 
        Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void onDrawerStateChanged(int newState) { 

     } 
    }); 

Есть ли способ узнать, был ли он левым или правым ящиком, который закрылся?

Спасибо!

+0

Используете ли вы тот же слушатель для обоих ящиков? Они два отдельных объекта arent они? –

+0

Нет, это один DrawerLayout с двумя навигационными экранами внутри. Метод onDrawerClosed-Method вызывается при закрытии любого из двух видов –

ответ

1

В методе onDrawerClosed есть View имени drawerView подходит в качестве аргумента просто проверить идентификатор, что с navigationViews ID, то вы можете сказать, которым один срабатывает этот приемник.

Смежные вопросы