Пока я что-то делаю в своем приложении, я вижу, что панель навигации в моем приложении уменьшила свой размер. Но я ничего с этим не делаю.

navigation drawer

Затем, после проверки кода, я увидел, что setDrawerListener устарел. У кого-нибудь есть решение этого?

drawerLayout.setDrawerListener(actionBarDrawerToggle);

Ответы (5)

Используйте взамен addDrawerListener ().

В официальных документах разработчика Androidenter image description here

Заменить:

drawer.setDrawerListener(...);

с

drawer.addDrawerListener(...);

public void setDrawerListener (DrawerLayout.DrawerListener listener) Устанавливает прослушиватель для уведомления о событиях ящика.

Обратите внимание, что этот метод устарел, и вам следует использовать addDrawerListener (DrawerLayout.DrawerListener) для добавления слушателя и removeDrawerListener (DrawerLayout.DrawerListener) для удаления зарегистрированного слушателя.

Думаю, я отвечу на свой вопрос. Последний navigationView выдает значение по умолчанию android: layout_height почти с 18dp, когда вы выбираете "wrap_content". Итак, вы должны выбрать android: layout_height, который вы хотите для своего navigationView, или просто сделать android: layout_height = "match_parent".




В любом случае, его высота автоматически увеличивается, когда вы добавляете элемент в панель навигации.

Наконец, используйте addDrawerListener () вместо setDrawerListener (), как сказал Люси Лю.

Заменить setDrawerListener

drawerLayout.setDrawerListener(actionBarDrawerToggle);

с addDrawerListener

drawerLayout.addDrawerListener(actionBarDrawerToggle);

пример

  DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                    this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
            assert drawer != null;
            drawer.addDrawerListener(toggle);
            toggle.syncState();

            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            assert navigationView != null;
            navigationView.setNavigationItemSelectedListener(this);

2022 WebDevInsider