Меню гамбургера начинается с новой активности

Я заметил, что с более новыми обновлениями Gmail для Android, когда вы нажимаете на одну из ваших писем, открывается новое действие (я предполагаю, что это не фрагмент из-за обратной стрелки).

Однако новая стрелка назад не отображается, как и по умолчанию. Меню гамбургера из основного интерфейса вращается в стрелку в анимации (см. Видео здесь: http://material-design.storage.googleapis.com/publish/material_v_3/material_ext_publish/0B3T7oTWa3HiFbFRfT196SWRyS2s/animation_delightfuldetails_wellcrafted.webm)

(Примечание: вновь открытое письмо МОЖЕТ быть фрагментом, потому что панель инструментов не изменяется, а анимация нового действия по умолчанию не воспроизводится. Я не уверен, какой она есть.)

Уточнение: я знаю, как заставить меню гамбургера превращаться в стрелку при нажатии/при открытии ящика навигации. Фактически, я целенаправленно отключил указанную анимацию, потому что она идет против спецификации. (см. эту статью: http://www.androidpolice.com/2014/10/30/google-turns-design-inconsistency-ten-latest-round-navigation-drawers/). Однако я хочу знать , если такая же анимация возможна при создании нового фрагмента/активности, в зависимости от того, какой Gmail, вероятно, использует.

Ответ 1

Если вы используете android.support.v7.app.ActionBarDrawerToggle, он автоматически анимируется.

Ответ 2

Это слишком поздно, но я поставил его здесь для предстоящих вопросов. Приложение Gmail открывает электронную почту в фрагменте. Потому что вы все еще можете использовать меню гамбургеров на этой странице. Замена значка меню гамбургера на кнопку "назад" Я использую этот код, и он отлично работает.

  public void setupToolbarNavigation() {
    toggle.setDrawerIndicatorEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    toggle.setToolbarNavigationClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            onBackPressed();
            reverseToolbar();


        }
    });
}

 public void reverseToolbar() {
    getSupportActionBar().setDisplayHomeAsUpEnabled(false);
    getSupportActionBar().setHomeButtonEnabled(false);
    toggle.setDrawerIndicatorEnabled(true);
    toggle.setToolbarNavigationClickListener(null);
}

toggle - это экземпляр ActionBarDrawerToggle, который вы можете инициировать с помощью этого кода в своей деятельности.

toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

reverseToolbar измените значок панели инструментов на значок значка гамбургера при нажатии на пользователя. Выполните этот метод в своей деятельности и замените значок в фрагменте, поместите этот код в свой фрагмент. ((YourActivity) getActivity()). SetupToolbarNavigation