方法setDrawerListener已弃用

当我在应用程序上做某些事情时,我发现应用程序上的导航抽屉缩小了其大小。 但是我没有做任何事情。

导航抽屉

然后,在检查代码后,我看到setDrawerListener已被弃用。 有没有人有这个解决scheme? 任何帮助都可以做到。 先谢谢你!

drawerLayout.setDrawerListener(actionBarDrawerToggle); 

使用addDrawerListener()来代替。

更换:

 drawer.setDrawerListener(...); 

 drawer.addDrawerListener(...); 

public void setDrawerListener(DrawerLayout.DrawerListener listener)设置要通知抽屉事件的侦听器。

请注意,此方法已过时,您应该使用addDrawerListener(DrawerLayout.DrawerListener)添加侦听器和removeDrawerListener(DrawerLayout.DrawerListener)以删除注册的侦听器。

replacesetDrawerListener

 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); 

我想我会回答我的问题。 当你select"wrap_content"时候,最新的navigationView会在18dp时候产生默认的android:layout_height 。 所以,你必须select你想要的navigationViewandroid:layout_height ,或者直接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()