Метод setDrawerListener устарел

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

навигационный ящик

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

drawerLayout.setDrawerListener(actionBarDrawerToggle);

Ответ 1

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

Ответ 2

Заменить:

drawer.setDrawerListener(...);

с

drawer.addDrawerListener(...);

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

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

Ответ 3

Заменить 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);

Ответ 4

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

<android.support.design.widget.NavigationView
    android:layout_width="320dp"
    android:layout_height="550dp"
    android:id="@+id/navigation_view_admin"
    android:layout_gravity="start">

</android.support.design.widget.NavigationView>

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

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

Ответ 5

Попробуй это:

 drawer.addDrawerListener(this);