Изменить ActionBarDrawerToggle значок "гамбургер" динамически?

Я использую DrawerLayout и ActionBarDrawerToggle, чтобы позволить пользователю открыть его, нажав на значок "гамбургер".

Теперь я добавил в Bottm Sheet, используя стороннюю библиотеку (так как никакой официальной поддержки нет), но я все еще хочу использовать рекомендации по дизайну, написанные для Bottom Sheets. Это означает, что я действительно должен изменить значок гамбургера на "X", чтобы его можно было закрыть, нажав его (а также проведя пальцем вниз в области содержимого)

Итак, как я могу динамически изменить значок гамбургера на X (желательно анимированный), а затем снова вернуться к гамбургеру, когда нижний лист закрыт?

Я попробовал следующее, но это не сработало:

mDrawerToggle.setHomeAsUpIndicator(R.drawable.ic_clear_white_24dp);

1 ответ

Это может сработать:

mDrawerToggle.setHomeAsUpIndicator(R.drawable.ic_clear);
mDrawerToggle.setDrawerIndicatorEnabled(false);

(или, может быть, наоборот)

Чтобы вернуться к исходному индикатору, просто позвоните

mDrawerToggle.setDrawerIndicatorEnabled(true);
Другие вопросы по тегам