方法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你想要的navigationView
的android: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()
。